[issue1975] signals not always delivered to main thread, since other threads have the signal unmasked
report at bugs.python.org
Tue Dec 15 08:42:23 CET 2009
Andriy Pylypenko <bambyster at gmail.com> added the comment:
Let me add my 2 cents. I understood the considerations about differences
between Python code level interrupt handling and OS level interrupts.
What I cannot get is why to preserve the handling of signals in the user
threads on OSes like FreeBSD and Solaris. This functionality isn't used
on Linux and Windows at all, as the interrupts on them are always
delivered to the main thread. The patch simply assures the same behavior
on the FreeBSD and Solaris, so why to keep things unpredictable when
there is a way to solve the problem? Can anyone state what exactly
purpose of not to make OS signal handling in Python predictable?
This bug report was created mainly because there is no easy Python code
solution for this problem. The Python documentation clearly states that
there is no user accessible Python functions that can modify per-thread
signal mask, so it is currently impossible to solve the problem with
just Python code. Modification of timeouts isn't vital solution in far
too many real life situations.
BTW this patch is officially in the FreeBSD ports tree since Feb 27 2009
and there is no complains on this patch since then.
Python tracker <report at bugs.python.org>
More information about the Python-bugs-list