diff --git a/src/signal_handler.c b/src/signal_handler.c index 079d0519bb17dd7c70475f5e97563cfa3dd2da2a..d154766ecdd41a7486adf7e3515631e7ed90fc5e 100644 --- a/src/signal_handler.c +++ b/src/signal_handler.c @@ -23,7 +23,7 @@ #include "builtin_functions.h" #include <signal.h> -RCSID("$Id: signal_handler.c,v 1.113 1999/03/07 17:54:27 neotron Exp $"); +RCSID("$Id: signal_handler.c,v 1.114 1999/03/07 18:07:49 grubba Exp $"); #ifdef HAVE_PASSWD_H # include <passwd.h> @@ -2624,15 +2624,22 @@ static RETSIGTYPE fatal_signal(int signum) void init_signals(void) { int e; - THREAD_T dummy; #ifdef USE_SIGCHLD my_signal(SIGCHLD, receive_sigchild); #endif #ifdef USE_WAIT_THREAD + /* FIXME: Isn't it required that SIGCHLD hasn't been set to SIGIGN + * for wait() et al to work? (The process that started pike + * may have set it to SIGIGN). + * /grubba 1999-03-07 + */ co_init(& process_status_change); co_init(& start_wait_thread); - th_create_small(&dummy,wait_thread,0); + { + THREAD_T dummy; + th_create_small(&dummy,wait_thread,0); + } #endif #ifdef SIGPIPE