2008/4/28 Stefan Blixt &lt;<a href="mailto:stefan.blixt@gmail.com">stefan.blixt@gmail.com</a>&gt;:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I don&#39;t know about the segv signal, but it seems to me that there is only one Bang instance that is shared by all iterations/shreds. This means that if two events arrive at this loop:<div class="Ih2E3d"><br><br>&nbsp; &nbsp; &nbsp;&nbsp; while( oe.nextMsg() ) {<br>


 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;oe.getInt() =&gt; b.value;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;osctype =&gt; b.message;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;b.broadcast();<br>
 &nbsp; &nbsp; &nbsp; &nbsp;}<br><br></div>the second&#39;s values will overwrite those of the first (value and message from the first event will be lost).</blockquote></div><br>I think that&#39;s right and I think the way around this would be<br>
<br>&nbsp; &nbsp; &nbsp;&nbsp; while( oe.nextMsg() ) {<br>

 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;oe.getInt() =&gt; b.value;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;osctype =&gt; b.message;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;b.broadcast();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //yield to receiving shreds,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //then continue processing the message cue<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; me.yield();<br>
 &nbsp; &nbsp; &nbsp; &nbsp;}<br><br>This is the exact same principle I talked about earlier in this topic; if you don&#39;t yield you don&#39;t give the waiting shreds a chance to run. Advancing time here would probably not be a good idea.<br>
<br>Yours,<br>Kas.<br>