<div>Is this essentially different from setting up a many-to-one channel, i.e. a channel which it is illegal for a tasklet to use for input if it is already &quot;registered&quot; as being used for input by another tasklet?</div>

<div>&nbsp;</div>
<div>Larry<br>&nbsp;</div>
<div><span class="gmail_quote">On 10/14/08, <b class="gmail_sendername">Andrew Francis</b> &lt;<a href="mailto:andrewfr_ice@yahoo.com">andrewfr_ice@yahoo.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hello Colleagues:<br><br>&gt; Message: 1<br>&gt; Date: Mon, 13 Oct 2008 07:43:53 -0700<br>&gt; From: &quot;Larry Dickson&quot;<br>
&gt; &lt;<a href="mailto:ldickson@cuttedge.com">ldickson@cuttedge.com</a>&gt;<br>&gt; Subject:<br>&gt; To: &quot;Arnar Birgisson&quot; &lt;<a href="mailto:arnarbi@gmail.com">arnarbi@gmail.com</a>&gt;<br>&gt; Cc: <a href="mailto:stackless@stackless.com">stackless@stackless.com</a><br>
&gt; Message-ID:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;<a href="mailto:1c748a490810130743o4ce691f6s8653df6baed3965b@mail.gmail.com">1c748a490810130743o4ce691f6s8653df6baed3965b@mail.gmail.com</a>&gt;<br>&gt; Content-Type: text/plain; charset=&quot;iso-8859-1&quot;<br>
<br>&gt; No joy as yet. The Stackless channels do set up the second<br>&gt; queue in my note already,<br><br>...<br><br>&gt;&gt; Surely not a syntax thing, Stackless currently<br>&gt;&gt; does not add any new syntax to Python. I imagine something like<br>
&gt;&gt;<br>&gt;&gt; val = stackless.receive_first([chan1, chan2,....])<br>&gt;&gt;<br>&gt; &gt;&gt; Look in the archives for discussion of the syntax.<br><br>BPEL (what I work on) has a construct called &#39;Pick.&#39; I believe a simple&nbsp;&nbsp;way of implementing the aforementioned is to build a synchronizer/semaphore based on a single channel and a counter. The waiting tasklet blocks on the channel. Other tasklets increment (or decrement) a counter. When the counter reaches the desired value, it wakes up the waiting tasklet (with a channel.send()). It is up to the implementer to decide what happens after the synchronizer is &#39;triggered&#39; or &#39;signalled&#39; state.<br>
<br>Cheers,<br>Andrew<br><br><br><br><br><br><br><br><br><br><br><br><br><br>_______________________________________________<br>Stackless mailing list<br><a href="mailto:Stackless@stackless.com">Stackless@stackless.com</a><br>
<a href="http://www.stackless.com/mailman/listinfo/stackless">http://www.stackless.com/mailman/listinfo/stackless</a><br></blockquote></div><br>