jim 96/05/12 15:30:57
Modified: src http_main.c Log: Use sigaction if desired; feel free to change the #define Revision Changes Path 1.26 +16 -4 apache/src/http_main.c Index: http_main.c =================================================================== RCS file: /export/home/cvs/apache/src/http_main.c,v retrieving revision 1.25 retrieving revision 1.26 diff -C3 -r1.25 -r1.26 *** http_main.c 1996/05/07 18:29:34 1.25 --- http_main.c 1996/05/12 22:30:54 1.26 *************** *** 963,975 **** } void set_signals() { ! if(!one_process) ! { ! signal(SIGSEGV,(void (*)())seg_fault); signal(SIGBUS,(void (*)())bus_error); ! } signal(SIGTERM,(void (*)())sig_term); signal(SIGHUP,(void (*)())restart); } /***************************************************************** --- 963,987 ---- } void set_signals() { ! #ifndef NO_USE_SIGACTION ! struct sigaction sa; ! #endif ! if(!one_process) { ! signal(SIGSEGV,(void (*)())seg_fault); signal(SIGBUS,(void (*)())bus_error); ! } ! #ifdef NO_USE_SIGACTION signal(SIGTERM,(void (*)())sig_term); signal(SIGHUP,(void (*)())restart); + #else + memset(&sa,0,sizeof sa); + sa.sa_handler=(void (*)())sig_term; + if(sigaction(SIGTERM,&sa,NULL) < 0) + log_unixerr("sigaction(SIGTERM)", NULL, NULL, server_conf); + sa.sa_handler=(void (*)())restart; + if(sigaction(SIGHUP,&sa,NULL) < 0) + log_unixerr("sigaction(SIGHUP)", NULL, NULL, server_conf); + #endif } /*****************************************************************