]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
PR 39275. don't fork MaxClients worth of processes if child_init or fork() are
authorGreg Ames <gregames@apache.org>
Wed, 3 May 2006 00:30:56 +0000 (00:30 +0000)
committerGreg Ames <gregames@apache.org>
Wed, 3 May 2006 00:30:56 +0000 (00:30 +0000)
slow.

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

CHANGES
server/mpm/experimental/event/event.c
server/mpm/worker/worker.c

diff --git a/CHANGES b/CHANGES
index 618bd5e0fd1632133b3b0fa56c7cf3f5053daac6..2c7fcdc9bdcd276552deba8a7dd700e2e9d6b700 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,10 @@
 Changes with Apache 2.3.0
   [Remove entries to the current 2.0 and 2.2 section below, when backported]
 
+  *) worker and event MPMs: fix excessive forking if fork() or child_init 
+     take a long time.  PR 39275.
+     [Greg Ames, Jeff Trawick, Chris Darroch <chrisd pearsoncmg.com> ]
+
   *) Add mod_proxy_fcgi, a FastCGI back end for mod_proxy.
      [Garrett Rooney, Jim Jagielski, Paul Querna]
 
index fb2da0311b69e6bff9ee77758559ab0257a0b4ba..7c302dfbaa6b6bdee72e35a9e8b714cb693c8faf 100644 (file)
@@ -1730,7 +1730,7 @@ static void perform_idle_server_maintenance(void)
              */
             if (ps->pid != 0) { /* XXX just set all_dead_threads in outer
                                    for loop if no pid?  not much else matters */
-                if (status <= SERVER_READY && status != SERVER_DEAD &&
+                if (status <= SERVER_READY &&
                         !ps->quiescing && ps->generation == ap_my_generation) {
                     ++idle_thread_count;
                 }
index 7694431448ad7204c7127ac67cc03b0561469ce6..347c11fa429e56df29055e45bdc318ddb9982577 100644 (file)
@@ -1422,7 +1422,7 @@ static void perform_idle_server_maintenance(void)
              */
             if (ps->pid != 0) { /* XXX just set all_dead_threads in outer for
                                    loop if no pid?  not much else matters */
-                if (status <= SERVER_READY && status != SERVER_DEAD &&
+                if (status <= SERVER_READY && 
                         !ps->quiescing &&
                         ps->generation == ap_my_generation) {
                     ++idle_thread_count;