> Forkserver tends to die with segmentation faults in the signal handler > as several people on the list noticed. It also sometimes misses the > death of a child. This patch moves the REAPER into the main loop. It now > checks for dead children after each accept and once every second if > there are more then $MAXCONN children. > This means that zombies hang around until the next client connects. > A bit untidy, but shouldn't be a real problem. > forkserver has been rock-solid for me since this patch.
It's working fine for a lot of folks without the patch. One big negative though - your patch adds tabs to a file that uses space indentation. Please be consistent. As for the rest of the patch, there's a potential downside which is that children will hang around until the next connection comes in. Generally that's relatively soon - but not necessarily. So any resource cleanups that happen won't happen until some point in the future. I know thats a nit... but still something to think about. -R
