On 10/25/07, Jim Jagielski <[EMAIL PROTECTED]> wrote: > On Oct 25, 2007, at 11:00 AM, Jeff Trawick wrote: > > > I think this is the problem: When a child is reaped normally after > > exiting due to MaxSpareServers or MaxRequestsPerChild, it remains in > > the scoreboard with status set to SERVER_DEAD, and it is removed from > > the pid table. > > > > Often that slot will be reused by a child created subsequently. > > > > If it is never reused before termination or hard restart, > > reclaim_child_processes() will see it in this code and complain that > > it isn't in the pid table: > > Yep... that appears to be it. When setting SERVER_DEAD we > aren't resetting the pid as well. Instead of working around > that, wouldn't the most straightforward approach be to > sync setting SERVER_DEAD status with also setting pid to 0? > This could be done in ap_update_child_status() which would > also hopefully address those file-based scoreboards as well.
sure; I'm lacking cycles at the moment to start looking through the code for potential fallout; hope to start looking soon
