<DIV id=RTEContent>Well, I found stackless a few weeks ago and its helping out a great deal so far.&nbsp; However I seem to be a bit confused about when a channel unblocks a tasklet.&nbsp; For some reason I thought that a tasklet blocked while waiting on a channel and then immediatly began to run itself again after being unblocked.&nbsp; Here's my code, its pretty obvious what I want it do do, but these are the results I get:</DIV>  <DIV>&nbsp;</DIV>  <DIV>0<BR>Sending 0<BR>getting 0<BR>-1<BR>-1</DIV>  <DIV>&nbsp;</DIV>  <DIV>Any help would be greatly appreciated.</DIV>  <DIV>Thanks,</DIV>  <DIV>Benjamin Buco</DIV>  <DIV>&nbsp;</DIV>  <DIV>Code Follows</DIV>  <DIV>&nbsp;</DIV>  <DIV>def Test():<BR>&nbsp;&nbsp;&nbsp; def Move(movechan):<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for n in range(13):<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print "Sending %r" % (n)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 movechan.send(n)</DIV>  <DIV>&nbsp;&nbsp;&nbsp; def Move2(movechan2):<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x=0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while x&lt;&gt;14:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = movechan2.receive()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print "getting %r" % (x)</DIV>  <DIV>&nbsp;&nbsp;&nbsp; ch2=stackless.channel()<BR>&nbsp;&nbsp;&nbsp; print ch2.balance<BR>&nbsp;&nbsp;&nbsp; a2=stackless.tasklet(Move)(ch2)<BR>&nbsp;&nbsp;&nbsp; a2.run()<BR>&nbsp;&nbsp;&nbsp; a2=stackless.tasklet(Move2)(ch2)<BR>&nbsp;&nbsp;&nbsp; a2.run()<BR>&nbsp;&nbsp;&nbsp; print ch2.balance<BR>&nbsp;&nbsp;&nbsp; x=0<BR>&nbsp;&nbsp;&nbsp; print ch2.balance</DIV>  <DIV>Test()</DIV><p>
                <hr size=1> <a href="http://pa.yahoo.com/*http://us.rd.yahoo.com/evt=36035/*http://music.yahoo.com/unlimited/">Yahoo! Music Unlimited - Access over 1 million songs. Try it free.</a>