Go to the previous, next section.
Reading or writing pipe data is atomic if the size of data written
is less than PIPE_BUF
. This means that the data transfer seems
to be an instantaneous unit, in that nothing else in the system can
observe a state in which it is partially complete. Atomic I/O may not
begin right away (it may need to wait for buffer space or for data), but
once it does begin, it finishes immediately.
Reading or writing a larger amount of data may not be atomic; for example, output data from other processes sharing the descriptor may be interspersed.
See section Limits on File System Capacity, for information about the PIPE_BUF
parameter.
Go to the previous, next section.