You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by Chuck Murcko <ch...@hyperreal.com> on 1996/06/07 21:51:19 UTC
cvs commit: apache/src http_main.c
chuck 96/06/07 12:51:18
Modified: src http_main.c
Log:
Reviewed by: Chuck Murcko
Submitted by: Cliff Skolnick
Obtained from: jk@tools.de
When the server listens to multiple ports (via
the httpd.conf 'Listen <port>' directive), a
SIGHUP sent to the main server doesn't call
reclaim_child_processes. The status of the killed
child processes is collected much later, after the
server is fully restarted. Also an error log
entry for the SIGHUP is missing in logs/error_log.
Revision Changes Path
1.33 +7 -4 apache/src/http_main.c
Index: http_main.c
===================================================================
RCS file: /export/home/cvs/apache/src/http_main.c,v
retrieving revision 1.32
retrieving revision 1.33
diff -C3 -r1.32 -r1.33
*** http_main.c 1996/06/07 17:39:24 1.32
--- http_main.c 1996/06/07 19:51:16 1.33
***************
*** 1341,1347 ****
struct sockaddr_in sa_server;
standalone = 1;
! sd = -1;
if (!one_process) detach();
--- 1341,1347 ----
struct sockaddr_in sa_server;
standalone = 1;
! sd = listenmaxfd = -1;
if (!one_process) detach();
***************
*** 1354,1366 ****
signal (SIGHUP, SIG_IGN); /* Until we're done (re)reading config */
if(!one_process)
#ifndef NO_KILLPG
! killpg(pgrp,SIGHUP); /* Kill 'em off */
#else
! kill(-pgrp,SIGHUP);
#endif
! if (sd != -1) {
reclaim_child_processes(); /* Not when just starting up */
log_error ("SIGHUP received. Attempting to restart", server_conf);
}
--- 1354,1369 ----
signal (SIGHUP, SIG_IGN); /* Until we're done (re)reading config */
if(!one_process)
+ {
#ifndef NO_KILLPG
! if (killpg(pgrp,SIGHUP) < 0) /* Kill 'em off */
#else
! if (kill(-pgrp,SIGHUP) < 0)
#endif
+ log_unixerr ("killpg SIGHUP", NULL, NULL, server_conf);
+ }
! if (sd != -1 || listenmaxfd != -1) {
reclaim_child_processes(); /* Not when just starting up */
log_error ("SIGHUP received. Attempting to restart", server_conf);
}