There are two processes (parent and child) communicating through a pipe. The parent is waiting for its child to exit, then reads data from the read end of the pipe. The child may produce quite a lot of output. Is it possible for the pipe to fail because of too much unread data in it and lose some of the child’s output?
There are two processes (parent and child) communicating through a pipe. The parent is
Share
No need to worry about that: On a standard 2.6 or 3.0 Kernel the pipe buffer is 64k – so the first process will block on write, if the buffer runs full.
If on the other hand this is too little, use
bufferbetween the two workers, which has a configurable memory size