Would someone care to see if this fixes the worker MPM performance problem reported earlier on the list (request-per-second dropping when clients exceeded threadsperchild)? This patch defers starting the listener untill -all- the workers have started.
Bill Index: worker.c =================================================================== RCS file: /home/cvs/httpd-2.0/server/mpm/worker/worker.c,v retrieving revision 1.117 diff -u -r1.117 worker.c --- worker.c 18 Apr 2002 17:46:20 -0000 1.117 +++ worker.c 25 Apr 2002 15:24:51 -0000 @@ -999,16 +999,15 @@ clean_child_exit(APEXIT_CHILDFATAL); } threads_created++; - if (threads_created == 1) { - /* now that we have a worker thread, it makes sense to create - * a listener thread (we don't want a listener without a worker!) - */ - create_listener_thread(ts); - } + } if (start_thread_may_exit || threads_created == ap_threads_per_child) { break; } + + /* All the workers have started. Now start the listener thread */ + create_listener_thread(ts); + /* wait for previous generation to clean up an entry */ apr_sleep(1 * APR_USEC_PER_SEC); ++loops;