You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by gr...@apache.org on 2006/05/03 02:30:58 UTC

svn commit: r399099 - in /httpd/httpd/trunk: CHANGES server/mpm/experimental/event/event.c server/mpm/worker/worker.c

Author: gregames
Date: Tue May  2 17:30:56 2006
New Revision: 399099

URL: http://svn.apache.org/viewcvs?rev=399099&view=rev
Log:
PR 39275.  don't fork MaxClients worth of processes if child_init or fork() are
slow.

Modified:
    httpd/httpd/trunk/CHANGES
    httpd/httpd/trunk/server/mpm/experimental/event/event.c
    httpd/httpd/trunk/server/mpm/worker/worker.c

Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/CHANGES?rev=399099&r1=399098&r2=399099&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Tue May  2 17:30:56 2006
@@ -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]
 

Modified: httpd/httpd/trunk/server/mpm/experimental/event/event.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/server/mpm/experimental/event/event.c?rev=399099&r1=399098&r2=399099&view=diff
==============================================================================
--- httpd/httpd/trunk/server/mpm/experimental/event/event.c (original)
+++ httpd/httpd/trunk/server/mpm/experimental/event/event.c Tue May  2 17:30:56 2006
@@ -1730,7 +1730,7 @@
              */
             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;
                 }

Modified: httpd/httpd/trunk/server/mpm/worker/worker.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/server/mpm/worker/worker.c?rev=399099&r1=399098&r2=399099&view=diff
==============================================================================
--- httpd/httpd/trunk/server/mpm/worker/worker.c (original)
+++ httpd/httpd/trunk/server/mpm/worker/worker.c Tue May  2 17:30:56 2006
@@ -1422,7 +1422,7 @@
              */
             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;