Risposta aggiornata
Per il manuale , NON sei garantito letture atomiche. Tuttavia, il loro intento è che le letture con FIFO siano atomiche. Dai paragrafi 2 e 4 di Rationale | Input e output
The standard developers considered adding atomicity requirements to a pipe or FIFO, but
recognized that due to the nature of pipes and FIFOs there could be no guarantee of
atomicity of reads of {PIPE_BUF} or any other size that would be an aid to applications
portability.
I/O is intended to be atomic to ordinary files and pipes and FIFOs.
Finché non vedrai le prove in altro modo, sarei comunque disposto a dire che stai bene.
Risposta originale
In base alla tua domanda precedente, suppongo che tutte le tue letture saranno inferiori a PIPE_BUF.
Non credo che avrai bisogno di alcuna serializzazione aggiuntiva intorno alle letture poiché la tua unità di consumo è inferiore all'importo di scrittura atomico sicuro per i thread. Se avessi sequenze di oggetti che dovevano essere letti, allora avresti bisogno di un meccanismo aggiuntivo per la serializzazione.