You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by jo...@apache.org on 2011/02/08 14:47:24 UTC

svn commit: r1068389 - in /httpd/httpd/trunk: CHANGES server/mpm/prefork/prefork.c

Author: jorton
Date: Tue Feb  8 13:47:23 2011
New Revision: 1068389

URL: http://svn.apache.org/viewvc?rev=1068389&view=rev
Log:
* 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 <andrew.punch 247realmedia.com>

Modified:
    httpd/httpd/trunk/CHANGES
    httpd/httpd/trunk/server/mpm/prefork/prefork.c

Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1068389&r1=1068388&r2=1068389&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Tue Feb  8 13:47:23 2011
@@ -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]
 

Modified: httpd/httpd/trunk/server/mpm/prefork/prefork.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm/prefork/prefork.c?rev=1068389&r1=1068388&r2=1068389&view=diff
==============================================================================
--- httpd/httpd/trunk/server/mpm/prefork/prefork.c (original)
+++ httpd/httpd/trunk/server/mpm/prefork/prefork.c Tue Feb  8 13:47:23 2011
@@ -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);
 }