diff --git a/src/signal_handler.c b/src/signal_handler.c index fa4bec02576492988ba9e6365473b5f8cb9a19b7..f0b410375e4781582e1b28369092ddec6be165d5 100644 --- a/src/signal_handler.c +++ b/src/signal_handler.c @@ -825,15 +825,17 @@ PMOD_EXPORT void check_signals(struct callback *UNUSED(foo), void *UNUSED(bar), } #endif - if(SAFE_IS_ZERO(signal_callbacks + sig)) - { - if(default_signals[sig]) - default_signals[sig](sig); - }else{ - push_svalue(signal_callbacks + sig); - push_int(sig); - num_callbacks++; + if(SAFE_IS_ZERO(signal_callbacks + sig)) + { + if(default_signals[sig]) + default_signals[sig](sig); + }else{ + push_svalue(signal_callbacks + sig); + push_int(sig); + num_callbacks++; + } } + CALL_AND_UNSET_ONERROR(ebuf); /* Call the Pike-level callbacks in