Newsgroups: comp.sys.transputer
From: jan@neuroinformatik.ruhr-uni-bochum.de (Jan Vorbrueggen)
Subject: Re: transputer (t8) process activation
Organization: Institut fuer Neuroinformatik, Ruhr-Universitaet Bochum, Germany
Date: 13 Mar 94 22:37:10 GMT
Message-ID: <JAN.94Mar13233710@thalia.neuroinformatik.ruhr-uni-bochum.de>

Brian,

you misconception is that a process blocked on a channel input or output is on
the scheduler queue - however, this is not the case. Only runable processes
which are computing will be on the scheduler queues. The only event (apart
from some very far-fetched things happening, possibly via a debugger) that
will restart a waiting processes is that the process responsible for the
"other" the side of the channel it is waiting on performs the paired
operation. The microcode detects that is is coming in "second", does the data
transfer, and reschedules the waiting process. But now, the communication has
actually occured!

So in your case, the code after the PAR can only continue when all three
channel inputs have happened, in whatever order that may be.

	Jan

