diff --git a/signal.c b/signal.c index 515abff04d4da798c592b316a710902a0fb92fe5..3cfa1ec6b44f6719dcf0f1c95e1a18add5dc6b8f 100644 --- a/signal.c +++ b/signal.c @@ -134,7 +134,9 @@ static void sig_on_signal(oop_source *source,int sig, sigaction(sig,NULL,&act); s->sig[sig].old = act; act.sa_handler = on_signal; +#ifdef SA_NODEFER act.sa_flags &= ~SA_NODEFER; +#endif sigaction(sig,&act,NULL); } }