Juergen Spitzmueller wrote:
> errno is ECHILD (no child processes)

For what it's worth, I found this statement in popen(3C):

The signal handler for SIGCHLD should be set to default when
     using  popen().  If  the  process  has  established a signal
     handler for SIGCHLD, it will be called when the command ter-
     minates.   If  the  signal  handler or another thread in the
     same process issues a wait(2) call, it will  interfere  with
     the  return  value  of  pclose().  If  the  process's signal
     handler for SIGCHLD has  been  set  to  ignore  the  signal,
     pclose() will fail and errno will be set to ECHILD.

http://ist-socrates.berkeley.edu/cgi-bin/man.cgi?section=3C&topic=popen

Angus, since you did some SIGCHLD work recently: could it be that this bug is 
related?

Regards,
Jürgen.

Reply via email to