B.1.2 Subsystem-Parallel Stacks
A subsystem-parallel stack requires a non preemptive uniprocessor kernel. It
has no internal locking, and assumes that:
-
Its service or put procedures run to completion without being preempted.
-
Its routines activated by calls to timeout and bufcall do not
run concurrently with its service or put procedures.
-
Only one instance of the open or close procedure of a driver or module is
running at any given moment.
When a subsystem-parallel stack is installed in the Windows NT kernel, STREAMS
ensures that the assumptions listed above are maintained.