]> granicus.if.org Git - apache/commitdiff
The prefork MPM wasn't killing child processes correctly if a restart
authorRyan Bloom <rbb@apache.org>
Sun, 28 Jan 2001 03:00:03 +0000 (03:00 +0000)
committerRyan Bloom <rbb@apache.org>
Sun, 28 Jan 2001 03:00:03 +0000 (03:00 +0000)
signal was received while the process was serving a request.  The child
process would become the equivalent of a second parent process.  If
we break out of the accept loop, then we need to do die after cleaning
up after ourselves.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87882 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
server/mpm/prefork/prefork.c

diff --git a/CHANGES b/CHANGES
index 6466e2aca24967f899a82aa3e1a4b086fa704a94..f4520673afb230bbb7184dd6f1ee8e19f5b6c65d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,11 @@
 Changes with Apache 2.0b1
 
+  *) The prefork MPM wasn't killing child processes correctly if a restart
+     signal was received while the process was serving a request.  The child
+     process would become the equivalent of a second parent process.  If
+     we break out of the accept loop, then we need to do die after cleaning
+     up after ourselves.  [Ryan Bloom]
+
   *) Change the Prefork MPM to use SIGWINCH instead of SIGUSR1 for graceful
      restarts.  [Ryan Bloom]
 
index 112f73d3f0d6101f818be522e006095a30e0ad64..d7efe67ed1188d2cba9867cb6c591c9c0974f44a 100644 (file)
@@ -1052,6 +1052,7 @@ static void child_main(int child_num_arg)
        ap_process_connection(current_conn);
         ap_lingering_close(current_conn);
     }
+    clean_child_exit(0);
 }