]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
* server/mpm/prefork/prefork.c (stop_listening, sig_term, restart):
authorJoe Orton <jorton@apache.org>
Tue, 8 Feb 2011 13:47:23 +0000 (13:47 +0000)
committerJoe Orton <jorton@apache.org>
Tue, 8 Feb 2011 13:47:23 +0000 (13:47 +0000)
  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 <andrew.punch 247realmedia.com>

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1068389 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
server/mpm/prefork/prefork.c

diff --git a/CHANGES b/CHANGES
index b5695bb9f08b17d21f52cbc003fc0bae390391ab..a79509510835921e259502b84938cb66b5f02cf2 100644 (file)
--- 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 <andrew.punch 247realmedia.com>]
+
   *) mod_mime: Ignore leading dots when looking for mime extensions.
      PR 50434 [Stefan Fritsch]
 
index f59ac540b82fd8da739fe2170ccaa464f441f214..ece2b8f78ad77a48bd837cf392f7b1b904ae951a 100644 (file)
@@ -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);
 }