> What exactly is supposed to happen when doing a read() on a pipe that has
> been closed?
>
Return EOF, if the last handle to the "write end" of the pipe is closed.
> I have a routine to fork, redirect output to a pipe, and exec a child.
> The parent reads from the pipe, and all is well until the child dies.
> read() blocks -- is this correct behaviour? I'd like it to return with
> some error or zero.
100% sure this is a bug in your program: Make sure you close the write
handle in the parent process, this should fix it.
Gerd
l-w--w--w- 1 kraxel users 42 Jan 1 19:70 .signature <- /dev/null