> Again, it sounds like you're > not closing all the references to one end of the pipe. > If multiple programs have references to a pipe end, > they *all* need to close them. Make sure that the > proc running tlsClient doesn't have a reference too. Just checking: I assume by 'references' you mean file descriptors in the process' fd table? ehm... I just realized: I create the procs with proccreate, so all procs share the same references, and when I close them in the main proc, they go away in the other ones as well, or so it seems, at least according to cat /proc/*/fd. nevertheless, without the zero-write before one of the closes they just keep hanging in the read, even when their fd table no longer shows the pipe file descriptors in any of the fd tables. If I don't share the fd table, and just give each of the sub processes their own end of the pipe, I'll never be able to close those from within those processes, because they are both locked up in a read (essentially waiting for each other). I have attached a silly program. Axel.