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

Reply via email to