Showing changes from revision #0 to #1:
Added | Removed | Changed
The PipeFS module provides the functionality of creating ‘pipes’ between tasks using the *PipeCopy command.
It uses OS_UpCall 6 if a pipe becomes either empty or full.
It uses OS_UpCall 7 if an open pipe is closed or deleted. The TaskWindow module then traps this and objects by raising an error if any of its tasks currently waiting for the poll word related to that pipe to become non-zero. This prevents a *Shut command from deleting the workspace which is being accessed by the Task Window, which could potentially cause address exceptions. If the task which called PipeFS is killed by the user, the pipe can be released in a safe manner.
Before attempting to read data from a Pipe, a check must be carried out to verify that it contains data. The recommended method is to call OS_GBPB 10.