| pipe \- create an interprocess channel |
| creates a buffered channel for interprocess I/O communication. |
| Two file descriptors are returned in |
| is available for reading from |
| is available for reading from |
| After the pipe has been established, |
| calls may pass data through the |
| The bytes placed on a pipe |
| are contiguous even if many processes are writing. |
| Write boundaries are preserved: each read terminates |
| when the read buffer is full or after reading the last byte |
| of a write, whichever comes first. |
| The number of bytes available to a |
| When all the data has been read from a pipe and the writer has closed the pipe or exited, |
| will return 0 bytes. Writes to a pipe with no reader will generate a note |
| .BR "sys: write on closed pipe" . |
| .B /usr/local/plan9/src/libc/9syscall |
| If a read or a write of a pipe is interrupted, some unknown |
| number of bytes may have been transferred. |
| When a read from a pipe returns 0 bytes, it usually means end of file |
| but is indistinguishable from reading the result of an explicit |