]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Win32: Fix stranded piped loggers on apache -k start,restart,config,install
authorBill Stoddard <stoddard@apache.org>
Fri, 27 Aug 2004 18:46:52 +0000 (18:46 +0000)
committerBill Stoddard <stoddard@apache.org>
Fri, 27 Aug 2004 18:46:52 +0000 (18:46 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/APACHE_2_0_BRANCH@104859 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
STATUS
server/mpm/winnt/mpm_winnt.c

diff --git a/CHANGES b/CHANGES
index 73d0e499cfb9f242054165ab3e083883182255f2..57ac361ae3a42e97f8b8f5da8f6d729d1d7b90b4 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,10 @@
 Changes with Apache 2.0.51
 
+  *) Win32: apache -k start|restart|install|config can leave stranded
+     piped logger processes (eg, rotatelogs.exe) due to improper
+     server shutdown on these code paths.
+     [Bill Stoddard]
+
   *) SECURITY: CAN-2004-0751 (cve.mitre.org)
      mod_ssl: Fix a segfault in the SSL input filter which could be
      triggered if using "speculative" mode, for instance by a 
diff --git a/STATUS b/STATUS
index 579b23b70d7c888037cf52cba49958cb13e92b83..e5c9d100e27fe5df48945f533655c7cff3663b06 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -1,5 +1,5 @@
 APACHE 2.0 STATUS:                                              -*-text-*-
-Last modified at [$Date: 2004/08/27 16:08:31 $]
+Last modified at [$Date: 2004/08/27 18:46:51 $]
 
 Release:
 
@@ -73,11 +73,6 @@ PATCHES TO BACKPORT FROM 2.1
   [ please place file names and revisions from HEAD here, so it is easy to
     identify exactly what the proposed changes are! ]
 
-    *) Win32: Orderly shutdown of the command process after apache -k start,restart,config,
-       install to prevent stranded piped logger processes.
-       http://cvs.apache.org/viewcvs.cgi/httpd-2.0/server/mpm/winnt/mpm_winnt.c?r1=1.311&r2=1.312
-       +1: stoddard, trawick, nd
-
     *) EOC bucket handling fix for core_output_filter (prevents possible variable use-
        after-free since .49).
        http://cvs.apache.org/viewcvs.cgi/httpd-2.0/server/core.c?r1=1.276&r2=1.277
index aa52706c8743fc61fdf4554766034af3d4b50f73..1289ce7e72dc6900a85355f784335ceeb53d3b2c 100644 (file)
@@ -1401,11 +1401,15 @@ static int winnt_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *pt
 
     if (!strcasecmp(signal_arg, "install")) {
         rv = mpm_service_install(ptemp, inst_argc, inst_argv, 0);
-        exit (rv);
+        apr_pool_destroy(s->process->pool);
+        apr_terminate();
+        exit(rv);
     }
     if (!strcasecmp(signal_arg, "config")) {
         rv = mpm_service_install(ptemp, inst_argc, inst_argv, 1);
-        exit (rv);
+        apr_pool_destroy(s->process->pool);
+        apr_terminate();
+        exit(rv);
     }
 
     if (!strcasecmp(signal_arg, "start")) {
@@ -1417,12 +1421,16 @@ static int winnt_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *pt
             lr->active = 0;
         }
         rv = mpm_service_start(ptemp, inst_argc, inst_argv);
-        exit (rv);
+        apr_pool_destroy(s->process->pool);
+        apr_terminate();
+        exit(rv);
     }
 
     if (!strcasecmp(signal_arg, "restart")) {
         mpm_signal_service(ptemp, 1);
-        exit (rv);
+        apr_pool_destroy(s->process->pool);
+        apr_terminate();
+        exit(rv);
     }
 
     if (parent_pid == my_pid)