on 11/09/2013 09:11 Andriy Gapon said the following:
> I've been thinking about this problem and the only theory that I have got so 
> far
> is that perhaps an owner httpd process could terminate ungracefully (e.g.
> crash).  In that case the pool cleanup would never be run.  That's OK for
> process local resources like memory or file descriptors, which would be freed 
> by
> OS because the process dies anyway.  But that's not OK for external resources
> like other processes.
> In other words, if an httpd process marks an fcgid process as busy and then
> suddenly dies, then there is nobody to move the fcgid process back to the 
> idle list.

Just an idea: perhaps scan_busylist should move a process to a different list
(the error list?) after treating it with proc_kill_force?
Currently the processes on the busy list are never checked for being a zombie.
With the proposed change they should be correctly reaped after all the waiting
and killing.

-- 
Andriy Gapon

Reply via email to