dev  

Re: [VOTE] httpd 2.2.12 tarballs

Rainer Jung
Sat, 25 Jul 2009 16:58:49 -0700

Possible patch would be moving the "start" handling from post config to
pre config. That way everything gets easier (we are not establishing
listeners and shut them down again shortly after, not establishing
rotatelogs etc.).

Patch against 2.2 head at
http://people.apache.org/~rjung/patches/httpd-service-start.patch or here:

Index: mpm_winnt.c
===================================================================
--- mpm_winnt.c (Revision 797857)
+++ mpm_winnt.c (Arbeitskopie)
@@ -1452,6 +1452,13 @@

     apr_cpystrn(ap_coredump_dir, ap_server_root, sizeof(ap_coredump_dir));

+    if (!strcasecmp(signal_arg, "start")) {
+        apr_status_t rv = 0;
+        rv = mpm_service_start(ptemp, inst_argc, inst_argv);
+        apr_terminate();
+        exit (rv);
+    }
+
     return OK;
 }

@@ -1494,20 +1501,6 @@
         exit(0);
     }

-    if (!strcasecmp(signal_arg, "start")) {
-        ap_listen_rec *lr;
-
-        /* Close the listening sockets. */
-        for (lr = ap_listeners; lr; lr = lr->next) {
-            apr_socket_close(lr->sd);
-            lr->active = 0;
-        }
-        rv = mpm_service_start(ptemp, inst_argc, inst_argv);
-        apr_pool_destroy(s->process->pool);
-        apr_terminate();
-        exit (rv);
-    }
-
     if (!strcasecmp(signal_arg, "restart")) {
         mpm_signal_service(ptemp, 1);
         apr_pool_destroy(s->process->pool);