Hello,<br><br>After Matthew pointed out that Transcript>>show: isn't tread-safe, I changed it to Transcript>>nextPutAll:<br><br>The script still wasn't give the expected output. So after playing around a bit, I discovered if I waited just a bit before flushing it would then work. It feels like a hack though.
<br><br>semA := Semaphore new.<br>semB := Semaphore new.<br><br>[Transcript cr; nextPutAll: 'b1'. semB signal. semA wait.<br> Transcript cr; nextPutAll: 'b2'. ] fork.<br>[Transcript cr; nextPutAll: 'a1'. semA signal. semB wait.
<br> Transcript cr; nextPutAll: 'a2'.] fork.<br>(Delay forMilliseconds: 1) wait.<br>Transcript flush<br><br>Results:<br><br>b1 a1 a2 b2<br><br>It's kind of strange why this only seems to bite me. :/<br>
<br>Thanks for the help,<br> JTS<br><br><br><br>