]> 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>
Wed, 25 Aug 2004 14:47:18 +0000 (14:47 +0000)
committerBill Stoddard <stoddard@apache.org>
Wed, 25 Aug 2004 14:47:18 +0000 (14:47 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104799 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
server/mpm/winnt/mpm_winnt.c

diff --git a/CHANGES b/CHANGES
index 5c8e62d5d720aa8f1fb19d21c536b0245ec5d463..ec747f223b43a164648d8288a209b3037a6282f1 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,10 @@
 Changes with Apache 2.1.0-dev
 
   [Remove entries to the current 2.0 section below, when backported]
+  *) 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]
 
   *) Restructured mod_auth_ldap to fit the new authentication model.
      The module is now called authnz_ldap and has been moved out of
index 7dd58c444e0d3e505158e8e7e84257d57d12a962..6fcd7810e9554ed60e3b9266ee0391518549bd30 100644 (file)
@@ -1409,10 +1409,14 @@ 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);
+        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);
+        apr_pool_destroy(s->process->pool);
+        apr_terminate();
         exit (rv);
     }
 
@@ -1425,11 +1429,15 @@ 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);
+        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);
+        apr_terminate();
         exit (rv);
     }