O_NONBLOCK
If possible, the file will be opened in nonblocking mode. Neither the open() call,
nor any other operation will cause the process to block (sleep) on the I/O. This
behaviour may be defined only for FIFOs.
Sometimes, programmers do not want a call to read() to block when there is no data
available. Instead, they prefer that the call return immediately, indicating that no data
is available. This is called nonblocking I/O; it allows applications to perform I/O, potentially
on multiple files, without ever blocking, and thus missing data available in
another file.
Consequently, an additional errno value is worth checking: EAGAIN.
- from - Linux system programming second edition R Love.
so yes.