Commit 8a052a33 authored by Roy T. Fielding's avatar Roy T. Fielding
Browse files

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
parent 3fb1684d
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment