Tim Peters wrote at 2004-5-21 10:16 -0400:
[Dieter Maurer]
I just checked that Python 2.3.4c1 does not yet fix our LinuxThread-Crash problem -- the problem that lets a multi-threaded application enter a curious state when one on the threads crashes. ... And this despite the patch for this problem in Python's collector...
There's a patch that squashes the specific symptom you have in mind, but at the cost of other breakage -- the original patch was added for a reason too.
I verified that <http://sourceforge.net/tracker/index.php?func=detail&aid=949332&group_id=5470&atid=305470> indeed fixes the problem. It might introduce other subtle problems but at least none that are revealed by Python's regression test suite... Moreover, I doubt that such problems will be significant in practise: The patch prevents blocking of signals that should (as specified by the PThreads standard) not be blocked -- as the operating system uses these signals to report serious problems. No application should use these threads for application specific communication. Therefore, a violation of Python's principle to only deliver signals to the main thread seems appropriate for these signals. As an automatic restart after a crash is vital for our productive Zope2 installations, we will probably bite the bullet and maintain our own Python version. -- Dieter