martin@v.loewis.de (Martin v. Löwis) writes:
Jeff Epler jepler@unpythonic.net writes:
Can you find out what $$ is, and what the PIDs and thread IDs of all participating threads are?
I'm not sure what all information I should try to gather for you. Let me know if you think this is enough to file a bug report with... I changed the example to make it clearer that it's the subprocess ignoring the signal that is the problem, not anything in Python that is taking time to notice the death of a child process.
That is an important observation; signals that are blocked in the parent process will be blocked in the child process as well.
I'm not sure what to do about this: We apparently *want* the signals blocked in the thread, but we don't want them to be blocked in the process invoked through system(). Proposals are welcome.
Does pthread_atfork() help?
Cheers, mwh