I posted this on the musl mailing list (after being redirected on the voidlinux reddit forum):
> Running this simple test using clock from sutils to produce a repeating one second interval input stream..
>
> mkfifo fifo
> clock -i 1 -sf "T> stream one" >fifo &
> clock -i 1 -sf "D> stream two" >fifo &
> cat fifo
>
> on void musl only the second fifo input stream is displayed.
> on void glibc, both input streams are displayed interleaved as expected.
>
> Are fifo buffers handled differently under musl?
The reply was:
No, aside from possible stdio buffering it's entirely a kernel matter.
I looked up the sutils source and see it's flushing after each output,
and tried it on an Alpine-based box here (with musl) and could not
reproduce what you're seeing. Both outputs are visible and roughly
interleaved (although their order sometimes swaps with scheduling, of
course).
--
So... is this a bug within void musl?
Regards,
Steven