Na przykład utworzyłem nazwany potok podobny do następującego:
mknod myPipe p
I czytam z niego z jakiegoś procesu (na przykład z jakiegoś serwera). Na przykład użyłem ogona:
tail -f myPipe
Jeśli kilka procesów klienckich zapisuje w nim niektóre wiadomości (na przykład echo "msg" >> myPipe
, czy istnieje szansa, że wiadomości zostaną przeplecione, tak jak poniżej:
<beginning of message1><message2><ending of message1>
Czy proces pisania do nazwanego potoku jest atomowy?
setvbuf(stdout, NULL, _IOLBF,512)
) spowoduje to bez konieczności korzystania z funkcji niskiego poziomu.PIPE_BUF
wartości na popularnych systemach uniksowych: ar.to/notes/posix#pipe-buf