FIFO's/pipes
You should also know about PIPE_BUF, the guaranteed minimum number of bytes that can be written. Implementations vary on this.
There are no partial writes to a pipe when the requested size of the buffer is greater than available space. Instead -1 is returned by write with
errno set to EAGAIN.
Finally, for high performance messaging or IPC, pipes/FIFOs are not a great choice.
Because there is no guarantee of atomicity, multiple readers on a single pipe can have issues.