To use the pipe, you open it like a normal file, and use read()
and write() just as though it was a plain pipe.
However, the open() of the pipe may block. The following rules
apply:
O_RDWR), then the open
O_RDONLY), the open will block until
O_NONBLOCK is
O_WRONLY, the open will block until
O_NONBLOCK is
When reading and writing the FIFO, the same considerations apply as for
regular pipes and sockets, i.e. read() will return EOF when all
writers have closed, and write() will raise SIGPIPE when
there are no readers. If SIGPIPE is blocked or ignored, the call
fails with EPIPE.