We can only wait for the signals that have been blocked, not for SIGUSR1, SIGUSR2, etc.

This commit is contained in:
Juan Jose Garcia Ripoll 2009-09-24 19:45:12 +02:00
parent bdf8d9d037
commit ac8b96db2b

View file

@ -851,7 +851,6 @@ asynchronous_signal_servicing_thread()
* signals, but this can not be done for SIGFPE, SIGSEGV, etc
*/
pthread_sigmask(SIG_SETMASK, NULL, &handled_set);
sigfillset(&handled_set);
CL_CATCH_ALL_BEGIN(ecl_process_env()) {
for (;;) {
/* Waiting may fail! */
@ -1026,6 +1025,10 @@ install_process_interrupt_handler()
signal);
}
mysignal(signal, non_evil_signal_handler);
#ifdef HAVE_SIGROCMASK
sigdelset(cl_core.default_sigmask, signal);
pthread_sigmask(SIG_SETMASK, cl_core.default_sigmask, NULL);
#endif
}
#endif
}