httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Graham Leggett <>
Subject Re: cache GC check after fork patch
Date Mon, 07 Jun 1999 10:30:54 GMT
Scott Hess wrote:

> I assume you are referring to my graceful shutdown patch?  As opposed to the
> mod_proxy patch, which fixed an unrelated bug?

The bug is present in the v1.3.7 snapshot of last friday, but not in
v1.3.6. I did a diff of the two, and narrowed down the problem to a
re-organisation of the garbage cleanup. I'm not sure this was your code?

I have posted a bug report (now that I could describe the bug
accurately) mod_proxy/4537 which covers what happens. According to the
change log the garbage collection was last fiddled with by Dirk-Willem
van Gulik.

Has your patch been applied to the v1.3.7 tree yet? If not, or if it was
only very recently, then I doubt your patch has caused the bug.

> On the other hand, the graceful shutdown code piggybacks heavily on the
> existing graceful restart code (I just don't ever start new children).  When
> you say that processes get "stuck", do you mean that the child processes
> (Unix ps sense) are stuck, or that the slots in the process table that the
> parent httpd uses to track the children are stuck?  Do you have any simple
> ways to replicate the problem?

When I say "stuck" it means that Apache processes are sitting blocked in
the "read()" function waiting for a new request (as they do normally),
but none comes because the signals are wrecked. Eventually when you ask
Apache to restart (SIGHUP) Apache first asks it's children to shutdown
gracefully, then firmly, then finally with a SIGKILL.

Do you know of a way that the proxy code could ever be exited with the
signal state still blocked off?

-----------------------------------------		"There's a moon
					over Bourbon Street

View raw message