httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dean Gaudet <>
Subject Re: graceful restarts, take 4
Date Tue, 22 Apr 1997 02:18:40 GMT
I don't really trust that to work well everywhere :)  Most systems don't
have reliable signal delivery... in fact the only one I'm aware of that
delivers all signals is linux 2.0.1 and later.  It breaks some programs
actually, which don't expect certain combos of signals to happen.  There
are probably others though.

But wording like this on solaris' sigprocmask manpage:

     If there are any pending unblocked signals after the call to
     sigprocmask(),  at  least  one  of  those  signals  will  be
     delivered before the call to sigprocmask() returns.

Make me think that we'd get nowhere assuming a signal to close the
listening sockets would get through. 


On Mon, 21 Apr 1997, Paul Sutton wrote:

> On Sun, 20 Apr 1997, Dean Gaudet wrote:
> > On Sun, 20 Apr 1997, Paul Sutton wrote:
> > > I would love to see graceful restarts implemented (as a patch for 1.2).
> > > And a graceful die would be nice too -- and the moment it is a pain having
> > > to wait for the server to be quiet before killing it to change versions. 
> > 
> > Oh yeah that would be a good feature.  The problem I see with it is that
> > it'll be hard to rebind to the ports.  For controlled servers you can use
> > SO_REUSEADDR to let the new server take over.  But in general that's not
> > safe (consider servers running on ports >1023 on public systems, this
> > would let any user steal connections). 
> No, I was thinking more along the lines of making the active children
> intercept a kill signal and, rather than dying straight away (as now), use
> it to close down their open sockets (except the client socket), then
> continue to serve the request.
> //pcs

View raw message