You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by tr...@apache.org on 2011/05/06 15:35:49 UTC

svn commit: r1100211 - in /httpd/httpd/branches/2.2.x: STATUS server/mpm/winnt/mpm_winnt.c

Author: trawick
Date: Fri May  6 13:35:49 2011
New Revision: 1100211

URL: http://svn.apache.org/viewvc?rev=1100211&view=rev
Log:
Grab r1090634 from trunk:

don't try to shut down child if it wasn't created
(or, fix warning about reference to uninitialized variable
child_exit_event)

Reviewed by: wrowe, covener

Modified:
    httpd/httpd/branches/2.2.x/STATUS
    httpd/httpd/branches/2.2.x/server/mpm/winnt/mpm_winnt.c

Modified: httpd/httpd/branches/2.2.x/STATUS
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/STATUS?rev=1100211&r1=1100210&r2=1100211&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/STATUS (original)
+++ httpd/httpd/branches/2.2.x/STATUS Fri May  6 13:35:49 2011
@@ -103,11 +103,6 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
                  http://people.apache.org/~trawick/mingw_patch_warnings.txt
     +1: trawick, wrowe, covener
 
-  * WinNT MPM: don't try to shut down child if it wasn't created
-    Trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1090634
-    2.2.x patch: Trunk patch applies with offset
-    +1: trawick, wrowe, covener
-
 PATCHES PROPOSED TO BACKPORT FROM TRUNK:
   [ New proposals should be added at the end of the list ]
 

Modified: httpd/httpd/branches/2.2.x/server/mpm/winnt/mpm_winnt.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/server/mpm/winnt/mpm_winnt.c?rev=1100211&r1=1100210&r2=1100211&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/server/mpm/winnt/mpm_winnt.c (original)
+++ httpd/httpd/branches/2.2.x/server/mpm/winnt/mpm_winnt.c Fri May  6 13:35:49 2011
@@ -854,13 +854,14 @@ static int create_process(apr_pool_t *p,
 static int master_main(server_rec *s, HANDLE shutdown_event, HANDLE restart_event)
 {
     int rv, cld;
+    int child_created;
     int restart_pending;
     int shutdown_pending;
     HANDLE child_exit_event;
     HANDLE event_handles[NUM_WAIT_HANDLES];
     DWORD child_pid;
 
-    restart_pending = shutdown_pending = 0;
+    child_created = restart_pending = shutdown_pending = 0;
 
     event_handles[SHUTDOWN_HANDLE] = shutdown_event;
     event_handles[RESTART_HANDLE] = restart_event;
@@ -875,6 +876,9 @@ static int master_main(server_rec *s, HA
         shutdown_pending = 1;
         goto die_now;
     }
+
+    child_created = 1;
+
     if (!strcasecmp(signal_arg, "runservice")) {
         mpm_service_started();
     }
@@ -969,6 +973,10 @@ die_now:
         int timeout = 30000;  /* Timeout is milliseconds */
         winnt_mpm_state = AP_MPMQ_STOPPING;
 
+        if (!child_created) {
+            return 0;  /* Tell the caller we do not want to restart */
+        }
+
         /* This shutdown is only marginally graceful. We will give the
          * child a bit of time to exit gracefully. If the time expires,
          * the child will be wacked.