Process status

Alexander Lazarevic lazarevi at prinz-atm.cs.Uni-Magdeburg.DE
Sun Jul 12 08:38:07 UTC 1998

 > If the shepard process get's terminated without running to completion,
 > the semaphore will never get signaled, though.

I changed the way the processes get their data. So I don't have to
check when they have finished. My attempt looks something like

| sq |
sq := SharedQueue new.
sq nextPut: 'Nasi'; nextPut: 'Goreng'; nextPut: 'Chop'; nextPut: 'Suey'.
1 to: 2 do: [:pid|
   [[sq isEmpty] whileFalse: [Transcript show: sq next; cr. Processor yield]] fork].

Now I want to see, which process outputs the data. So my first try

Transcript show: pid printString, ' ', sq next

That won't work, because after the loop pid is 3 and all processes
return that value. So how do I create a variable, that is local to a
block? Something like [:pid| blockTemp | blockTemp := pid ] won't work

------  Alexander  Lazarevic  ------------------------------------------------
-- Otto-von-Guericke-Universitaet      mailto: lazarevi at --
--   Computational Visualistics --

More information about the Squeak-dev mailing list