Glenn Knickerbocker wrote:
James Johnson wrote:
Since the userstage does nothing to cause an autocommit to level 0 it
should remain at level -1.

CALLPIPE commits to the highest commit level of the subroutine pipeline,
or to 0 if the subroutine pipeline is just a short-through.  The
pipeline will only stall if the stages in the subroutine pipeline never
commit.

¬R

The CallPipe can commit to whatever it wants. The userstage is suspended waiting for the CallPipe to complete. A userstage starts at commit level -1 and this user stage has done nothing to commit to level 0.

The main Pipe should be at commit level -1 also. The other stages in the main Pipe will have started at some commit level, done any initialization or verification necessary and committed to level 0. The only stage running in the main pipe is the userstage. The first stage of the CallPipe has issued a Peek or Read looking for data but no data is flowing from the main pipe because it is
waiting for the userstage to commit to level 0.

Reply via email to