Дорбрый день. Я хочу наладить связь между процесами посредством fifo. Ну не могу прояснить один вопрос - когда запись будет атомарной? Т.е. читающий процес не увидит частично записанные данные. Нашёл в man 7 pipe интересный фрагмент:
PIPE_BUF
POSIX.1-2001 says that write(2)s of less than PIPE_BUF bytes must be atomic: the output data is written to the pipe as a con-
tiguous sequence. Writes of more than PIPE_BUF bytes may be nonatomic: the kernel may interleave the data with data written
by other processes. POSIX.1-2001 requires PIPE_BUF to be at least 512 bytes. (On Linux, PIPE_BUF is 4096 bytes.) The pre-
cise semantics depend on whether the file descriptor is nonblocking (O_NONBLOCK), whether there are multiple writers to the
pipe, and on n, the number of bytes to be written:
...