From: Joe Orton Date: Tue, 8 Feb 2011 13:47:23 +0000 (+0000) Subject: * server/mpm/prefork/prefork.c (stop_listening, sig_term, restart): X-Git-Tag: 2.3.11~89 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4cb4c7437f863f7c10dd8bdf0d2af28a398a9c55;p=thirdparty%2Fapache%2Fhttpd.git * server/mpm/prefork/prefork.c (stop_listening, sig_term, restart): Update mpm_state in the signal handlers such that it is correct in children during a graceful stop/restart too. PR: 41743 Submitted by: Andrew Punch git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1068389 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index b5695bb9f08..a7950951083 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,9 @@ Changes with Apache 2.3.11 + *) prefork: Update MPM state in children during a graceful stop or + restart. PR 41743. [Andrew Punch ] + *) mod_mime: Ignore leading dots when looking for mime extensions. PR 50434 [Stefan Fritsch] diff --git a/server/mpm/prefork/prefork.c b/server/mpm/prefork/prefork.c index f59ac540b82..ece2b8f78ad 100644 --- a/server/mpm/prefork/prefork.c +++ b/server/mpm/prefork/prefork.c @@ -318,6 +318,7 @@ static void just_die(int sig) static void stop_listening(int sig) { + mpm_state = AP_MPMQ_STOPPING; ap_close_listeners(); /* For a graceful stop, we want the child to exit when done */ @@ -338,6 +339,7 @@ static void sig_term(int sig) */ return; } + mpm_state = AP_MPMQ_STOPPING; shutdown_pending = 1; is_graceful = (sig == AP_SIG_GRACEFUL_STOP); } @@ -351,6 +353,7 @@ static void restart(int sig) /* Probably not an error - don't bother reporting it */ return; } + mpm_state = AP_MPMQ_STOPPING; restart_pending = 1; is_graceful = (sig == AP_SIG_GRACEFUL); }