...
When opening a FIFO with
O_RDONLYorO_WRONLYset:
- If
O_NONBLOCKis set, anopen()for reading-only returns shall return without delay. Anopen()for writing-only returns shall return an error if no process currently has the file open for reading.- If
O_NONBLOCKis clear, anopen()for reading-only blocks shall block the calling thread until a thread opens the file for writing. Anopen()for writing-only blocks shall block the calling thread until a thread opens the file for reading.When opening a block special or character special file that supports non-blocking opens:
- If
O_NONBLOCKis set, theopen()function returns shall return without blocking for the device to be ready or available. Subsequent behaviour behavior of the device is device-specific.- If
O_NONBLOCKis clear, theopen()function blocks shall block the calling thread until the device is ready or available before returning.Otherwise, the behavior of
O_NONBLOCKis unspecified.
...