[ic] IC hanging in accept

jeff at downtowndevelopmentplan.com jeff at downtowndevelopmentplan.com
Wed Apr 25 10:22:03 EDT 2007


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.  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.

Just some thoughts,

More information about the interchange-users mailing list