httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason S. Clary" <>
Subject Re: [PATCH] revised death wish on HUP patch
Date Fri, 14 Feb 1997 18:22:34 GMT
I used to have a similar problem with 1.1.1 where the server would
not restart properly on a hup.. It would also frequently die with just
the main process still running and load averages jumping to 1.50 or
so when this machine (a Cyrix 686) normaly sits at .05 tops even
under pretty heavy (200k to 500k hits per day) web load..

It was very annoying, I had several scripts running to restart the
server if it died or whatever.

It could have been related to Ben's SSL patches though...  I ran
1.1.1 for months without SSL without a problem.  And, I ran I think
it was 1.0.5 or something for almost a year restarting it maybe once
every month or two.. now I do a killall -9 httpd every 12 hours.. ugg.

I still run the same scripts because it still does this.
> From: Paul Sutton <>
> To:
> Subject: Re: [PATCH] revised death wish on HUP patch
> Date: Friday, February 14, 1997 7:34 AM
> On 14 Feb 1997, Paul Richards wrote:
> > When I looked at the problem with signal handling a few months ago
> > thought I commented on the fact that the children are *not* passed
> > signal at all. They are allowed to die naturally when they finish
> > processing the request. Are we changing that model? I've been
trying to
> > catch up on two weeks mail (annual accounts audit and Phd viva both
> > same week!) so I've skimmed quite a lot recently and might not be
up to
> > speed on the problem. Someone want to give me a quick summary?
> Erm, I thought Apache had always sent the children HUPs to kill em
> immediately, which was the reason why graceful restarts are needed --
> let transfers in progress finish. 
> At the moment the parent
>   1   Sends a -HUP to the children (in the process group)
>   2   Closes the bound sockets
>   3   Opens the bound sockets
>   4   Re-makes the children
> The problem is that if a child doesn't die before 3, the bind fails
> Apache dies (no children). Not good. This patch tries harder to kill
> children, by extending part 1: 
>   1a  Send -HUP to children in process group
>   1b  Send a -HUP to any children still alive, and wait 3 seconds
>   1c  Send a -TERM to any children still alive, and wait 3 seconds
>   1d  Send a -KILL to any children skill alive, and wait 3 seconds
> Parts 1b, 1c and 1d are only done if there are still children hanging
> around. 
> This reduces the change of Apache-death during a routine HUP, which
> is a good thing.
> //pcs

View raw message