On Fri, 13 Aug 2004 10:27:11 -0400, Jeff Trawick <[EMAIL PROTECTED]> wrote: > Here is my take on what is wrong with current code: > > 1) It starts complaining a bit too soon. Some third-party modules > have rather complicated child exit strategies. Whether or not that is > good or bad (bad ;) ), it results in disturbing messages that wouldn't > have appeared if we were a little more patient (2-3 seconds). Also, I > suspect that the use of threaded MPM affects how quickly the children > are exiting now on Unix. > > 2) It should never stop checking for exited processes less often than > 1-2 seconds, even if it doesn't complain to error log that often. > Like you say, current code can wait a VERY long time for child > processes to exit. In practice, I see that it can wait a VERY long > time even after the last child has exited. > > I'll agree that it should never wait so long, though I think around 15 > or so seconds total is reasonable. Exiting before children are gone > doesn't let Apache start up any more quickly; it just prevents > potentially-useful information about timing from getting logged to the > error log. > > --/-- > > I wouldn't complain to error log at all until it has been 2 seconds, > and then I'd still wait around for 10-15 more. But it has to check > every second so it finds out soon after all children have exited and > doesn't sleep needlessly. >
Here's a patch that does something like I mentioned above, though it bails out a bit sooner (9 or so seconds). The timing of the interesting actions in this patch can be tweaked in a much simpler manner than the old 1.3 code allows.
patch
Description: Binary data
