diff options
Diffstat (limited to 'src/signal/signal.c')
| -rw-r--r-- | src/signal/signal.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/signal/signal.c b/src/signal/signal.c index 03913053..b328a19a 100644 --- a/src/signal/signal.c +++ b/src/signal/signal.c @@ -21,10 +21,8 @@ void (*signal(int sig, void (*func)(int)))(int) { - if (__signal.current != 0 && __signal.current != sig) { - /* only safe if resetting the current signal handler */ - SIGNAL_SAFE(0); - } + /* signal safe iff we are resetting the current signal handler */ + SIGNAL_SAFE((__signal.current == sig)); if (sig < 0 || sig > NSIGNALS) { /* FIXME: should errno be set? */ |
