httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Graham Leggett <minf...@sharp.fm>
Subject Re: More bug tracking - httpd clients refuse to die
Date Wed, 02 Jun 1999 09:56:53 GMT
Dean Gaudet wrote:

> > Why would Apache want to ignore the USR1 signal? Surely it would want to
> > defer it until later?
> 
> It is deferred, it's graceful -- there's a note in the scoreboard
> indicating the child should gracefully stop.  We ignore the signal because
> we can't stop there -- we need to serve at least one request on every
> connection.

Ok, then it would seem that these "stuck" processes are sitting around
waiting to be given "something to do", but then never actually get given
anything to do. So they sit around forever ignoring graceful restart
requests because they want to server one last request (which never
comes).

These processes *also* ignore the restart signal, and the parent
eventually terminates them with a SIGKILL - but not always - after a
number of restarts (once an hour to rotate logs in our case) the
processes are no longer terminated, and sit around until Max Clients is
reached, then Apache starts leaking memory everywhere and kills the box.

> My wild guess is that you've got a third party module in there which has
> futzed with SIGALRM and not restored the signal handler.

This behavior only started with v1.3.7, and happens with or without
external modules present. I am using the mod_proxy module a lot for
reverse proxy requests, this may have something to do with it as this
module isn't that mainstream, but I'm not sure.

Regards,
Graham
-- 
-----------------------------------------
minfrin@sharp.fm		"There's a moon
					over Bourbon Street
						tonight...

Mime
View raw message