On Tue, Aug 30, 2005 at 02:27:20PM +0100, Colm MacCarthaigh wrote: > On Tue, Aug 30, 2005 at 08:24:17AM -0000, [EMAIL PROTECTED] wrote: > > module="mpm_common">PidFile</directive> and cease listening on > > all ports. The parent will continue to run, and monitor children > > which are handling requests. Once all children have finalised > > and exited or the timeout specified by the <directive > > module="mpm_common">GracefulShutdownTimeout</directive> has been > > - reached, the parent will also exit.</p> > > + reached, the parent will also exit. If the timeout is reached, > > + any remaining children will be sent the <code>TERM</code> signal > > + to force them to exit.</p> > > This is only the case on prefork, on the threaded MPM's its more > complicated that that. The children are told via the pod to exit, but > TERM is not sent explicitly, instead the children will get sent HUP due > to parent exit.
Ah right, thanks. I guess I'll just change this to have a "behaviour may vary across MPMs" disclaimer... > This has all sorts of consequences, the most annoying of which is that > both "stop" and "graceful-stop" actually won't kill CGI processes when > using a threaded MPM/cgid. So is mod_cgid still the default CGI module for worker because there once existed some ye-olde-Unixes which had an "interesting" fork() implementation? Given that POSIX has mandated since 2001 or whatever that fork() duplicates only the calling thread, is there any disadvantage to using mod_cgi in all MPMs on modern platforms? joe