[ic] IC hanging in accept

Mike Heins mike at perusion.com
Wed Apr 25 11:11:03 EDT 2007


Quoting jeff at downtowndevelopmentplan.com (jeff at downtowndevelopmentplan.com):
> Hello,
> 
> Does anyone else have any thoughts on sketchy behavior of Server.pm's 
> housekeeping routine?  I've been eyeing it for a while.  Specifically 
> the part where it iterates the list of active PIDs, killing off ones 
> that meet the appropriate criteria.  After the parent issues the kill 
> successfully, it removes the PID from its list.
> 
> The problem is that the child might not have responded to the kill, the 
> parent performs no check to see if the process actually died.  With IC, 
> I find this is typically because the child is hung in an accept call 
> (normal behavior).  The situation seems to results in children stuck in 
> accept that the IC parent thinks it has killed off.
> 
> I don't have a any fantastic ideas for a solution.  I believe that 
> apache hits the children's sockets with some data to knock it out of 
> accept.

I don't know how we could do that -- it is monitoring the same
socket as every other iteration.

> Maybe IC could maintain two lists... the normal list of PIDs and then
> the list of PIDs that it thinks it killed last time. The second list
> could be checked during housekeeping runs and killed with more force
> if they still existed.

If I knew a real good way of doing that, I would. Suggestions welcome.

I have found the behavior of 5.5 with ChildLife set to be generally good,
rarely generating leftover processes. Have you seen big problems?

-- 
Mike Heins
Perusion -- Expert Interchange Consulting    http://www.perusion.com/
phone +1.765.647.1295  tollfree 800-949-1889 <mike at perusion.com>

I used to think the whole world stank. Then I found out I had poop
on my mustache. -- Anonymous


More information about the interchange-users mailing list