summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/signalmodule.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
index fe79447..7bd1d06 100644
--- a/Modules/signalmodule.c
+++ b/Modules/signalmodule.c
@@ -262,8 +262,14 @@ initsignal()
PySignal_SignalHandlerArray[0].tripped = 0;
for (i = 1; i < NSIG; i++) {
RETSIGTYPE (*t)();
+#ifdef HAVE_SIGACTION
+ struct sigaction act;
+ sigaction(i, 0, &act);
+ t = act.sa_flags;
+#else
t = signal(i, SIG_IGN);
signal(i, t);
+#endif
PySignal_SignalHandlerArray[i].tripped = 0;
if (t == SIG_DFL)
PySignal_SignalHandlerArray[i].func =