From: Brian Havard Date: Sat, 23 Feb 2002 11:52:14 +0000 (+0000) Subject: When firing up a new child process, wipe clean the set of worker_score records X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=db9c39eb24f7debb3d83a03c66d567a40f18f230;p=thirdparty%2Fapache%2Fhttpd.git When firing up a new child process, wipe clean the set of worker_score records we're going to use as they could contain leftovers from a previous child. This solves a problem where a non-graceful restart followed by a graceful restart would leave previous generation children stuck waiting for non-existant worker threads to terminate. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93548 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/mpm/mpmt_os2/mpmt_os2_child.c b/server/mpm/mpmt_os2/mpmt_os2_child.c index 47e01564c0d..60b747300cd 100644 --- a/server/mpm/mpmt_os2/mpmt_os2_child.c +++ b/server/mpm/mpmt_os2/mpmt_os2_child.c @@ -196,6 +196,7 @@ void ap_mpm_child_main(apr_pool_t *pconf) } ap_my_generation = ap_scoreboard_image->parent[child_slot].generation; + memset(ap_scoreboard_image->servers[child_slot], 0, sizeof(worker_score) * HARD_THREAD_LIMIT); /* Set up an OS/2 queue for passing connections & termination requests * to worker threads