Message46190
As documented in bug 969574, restartable signals are
not correctly disabled on BSD systems (e.g, NetBSD 2.0,
FreeBSD 4.8).
The attached patch is a more complete version of the
one I provided in that bug report, and it more closely
follows the patch submission guidelines (context
instead of unified diff, against python CVS instead of
python 2.3.4, ...). It also fixes:
* A few sections of the tree that weren't converted
from signal() to PyOS_setsig().
* There's no need to call siginterrupt() before
PyOS_setsig() in Module/signalmodule.c because
PyOS_setsig() handles that, and calling siginterrupt()
before changing a signal's handler (via
signal/sigaction) doesn't work correctly anyway; it
should have been called after.
I have compiled the source with and without
"--without-signal-module" and successfully run "make
test" on both cases.
Suggested NEWS entry:
===
Bug #969574: Restartable signals were not correctly
disabled on BSD systems. Consistently use PyOS_setsig()
instead of signal().
===
Cheers,
Luke. |
|
Date |
User |
Action |
Args |
2007-08-23 15:38:12 | admin | link | issue975056 messages |
2007-08-23 15:38:12 | admin | create | |
|