Yes, I saw it and that&#39;s the reason of my email :)<br><br><div class="gmail_quote">On Wed, Jul 1, 2009 at 4:34 PM, Igor Stasenko <span dir="ltr">&lt;<a href="mailto:siguctua@gmail.com">siguctua@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div class="h5">2009/7/1 Mariano Martinez Peck &lt;<a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a>&gt;:<br>

&gt;<br>
&gt;<br>
&gt; On Wed, Jul 1, 2009 at 4:22 PM, Igor Stasenko &lt;<a href="mailto:siguctua@gmail.com">siguctua@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; 2009/7/1 Mariano Martinez Peck &lt;<a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a>&gt;:<br>
&gt;&gt; &gt; Hi folks! I am doing some benchmarks and I having problems with fork (I<br>
&gt;&gt; &gt; think).<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I have this method collect:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; collect<br>
&gt;&gt; &gt; |semaphores tr|<br>
&gt;&gt; &gt; semaphores := Array new: 10.<br>
&gt;&gt; &gt; tr := ThreadSafeTranscript new.<br>
&gt;&gt; &gt; tr open.<br>
&gt;&gt; &gt; 1 to: 10 do: [ :index | semaphores at: index put: Semaphore<br>
&gt;&gt; &gt; forMutualExclusion ].<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     1 to: 10 do: [:i |<br>
&gt;&gt; &gt;         [<br>
&gt;&gt; &gt;         tr show: &#39;one fork&#39;; cr.<br>
&gt;&gt; &gt;         (semaphores at: i) signal.<br>
&gt;&gt; &gt;         ] fork<br>
&gt;&gt; &gt;     ].<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     semaphores do: [:each | each wait ].<br>
&gt;&gt; &gt;     tr show: &#39;all forks proccesed&#39;; cr.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; What I want is that the method collect returns when ALL of the forks<br>
&gt;&gt; &gt; created<br>
&gt;&gt; &gt; inside, are finished. Obviously in my real code, I don&#39;t do a transcript<br>
&gt;&gt; &gt; show: but another thing.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I would expect something like this:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; one fork<br>
&gt;&gt; &gt; one fork<br>
&gt;&gt; &gt; one fork<br>
&gt;&gt; &gt; one fork<br>
&gt;&gt; &gt; one fork<br>
&gt;&gt; &gt; one fork<br>
&gt;&gt; &gt; one fork<br>
&gt;&gt; &gt; one fork<br>
&gt;&gt; &gt; one fork<br>
&gt;&gt; &gt; one fork<br>
&gt;&gt; &gt; all forks proccesed<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; But the output is:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; all forks proccesed<br>
&gt;&gt; &gt; one fork<br>
&gt;&gt; &gt; one fork<br>
&gt;&gt; &gt; one fork<br>
&gt;&gt; &gt; one forkone fork<br>
&gt;&gt; &gt; one fork<br>
&gt;&gt; &gt; one fork<br>
&gt;&gt; &gt; one forkone fork<br>
&gt;&gt; &gt; one fork<br>
&gt;&gt; &gt; one fork<br>
&gt;&gt; &gt; one forkone fork<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; So, I guess it isn&#39;t working :(   I don&#39;t know too much about forks so<br>
&gt;&gt; &gt; any<br>
&gt;&gt; &gt; help is welcome!<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; can be a problem with  ThreadSafeTranscript  ? If so, how could I test<br>
&gt;&gt; &gt; if my<br>
&gt;&gt; &gt; code is working as expected ?<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt; Mariano, sorry it way my mistake. In example that i gave you on IRC ,<br>
&gt;&gt; i put Semaphore forMutualExclusion,<br>
&gt;&gt; while obviously it should be simply: Semaphore new.<br>
&gt;<br>
&gt; Sorry, I was having lunch.<br>
&gt;<br>
&gt; Igor: I didn&#39;t know that sig__ where you :)<br>
<br>
</div></div>see my footer, down below :)<br>
<font color="#888888"><br>
<br>
--<br>
</font><div><div></div><div class="h5">Best regards,<br>
Igor Stasenko AKA sig.<br>
<br>
</div></div></blockquote></div><br>