Subprocess and pipe-fork-exec primitive

"Martin v. Löwis" martin at
Tue Jul 31 22:30:04 CEST 2007

>   From my experience, this primitive will fail with 'no child processes'
> at the waitpid call if the forked child dies very quickly - before the
> parent is scheduled back for execution. This seems to happen because
> Python has a default SIGCHLD handler that, in this case, will reap the
> process before the parent has the chance to do it.

What operating system is your experience from? On a POSIX system,
this should not happen - i.e. delivery of SIGCHLD should not cause
to make the child waited-for. Python itself does not perform wait()
in response to SIGCHLD.

>   I would like to know if this is correct, or am I missing something here?

You must be missing something, although I'm uncertain what precisely
that is.


More information about the Python-list mailing list