this patch is intended to avoid a problem witnessed in apache
installations with certain third party libraries: if there are many children, and then take sufficiently long to shut down, then apache's reclaim child processes sends the remaining children SIGKILL. that's alright with me -- shutdown shouldn't take so long -- but the current code doesn't wait around for them to die; if they haven't all finished terminating right away, it sleeps for approximately 16 seconds before noticing that they're dead. thus, the total time required to shut down is generally a bit more than twenty seconds ... the last 16 seconds of which is quite unnecessary. anyway, what this patch does is change things so that after SIGKILL has been sent, the parent checks a couple of times (approx: 16ms, 84ms, 350ms, 1.4sec) and then decides that the SIGKILL failed. i could easily adjust this so that the total time spent waiting for the SIGKILL to fail is what it was -- 16 seconds, give or take -- but in writing this, i figured that if they haven't died after 1.4 seconds, then the SIGKILL wasn't sufficient; it's not instant, but it should never take that long. Submitted by: Ed Korthof <ed@apache.org> Reviewed by: Roy Fielding git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@84442 13f79535-47bb-0310-9956-ffa450edef68
Please register or sign in to comment