Aaron Stone wrote:
> So I'm reading through the pool.c and server.c code, and there's this
> function child_unregister that's called from the child process signal
> handlers. It set the scoreboard status for the calling child process's
> pid to STATE_WAIT.

It does. But I concluded later that the pooling code shouldn't have to
rely on scoreboard data.

> 
> I can't find any code that reaps the STATE_WAIT processes. I also
> haven't been able to zombie anything, despite trying really hard!

same here.

> 
> http://www.dbmail.org/mantis/view.php?id=361


> 
> This bug is still bothering me. I think a proper fix is to write a
> manage_zombie_children function that reaps STATE_WAIT entries from the
> scoreboard.

zombies should not happen, ever. No need cleaning up if we never spill any.

STATE_WAIT is a symptom. Children should not be in that state. But I
think kaname has a point by suggesting WNOHANG|WUNTRACED in reap_child.

reap_child(void) was meant for killing of a redundant spare child. If
kill indeed fails (not too exotic), waitpid(chpid,NULL,0) will indeed
cause problems.

Ive patched reap_child.



-- 
  ________________________________________________________________
  Paul Stevens                                      paul at nfg.nl
  NET FACILITIES GROUP                     GPG/PGP: 1024D/11F8CD31
  The Netherlands________________________________http://www.nfg.nl

Reply via email to