This has probably been discussed here before, and if it has I'd
like to know the reasons why it's a bad idea. Anyway, I've been
working on a graceful stop mechanism for httpd, which is 
reasonably trivial to work in - the problem is that there are
no portable signal numbers left (or am I wrong in that?) which
means one has to go.

Why does graceful restart exist? Wouldn't it be better to have
a graceful stop, and then just start a new instance?

This would mean;

  * The existing behaviour of a graceful restart would
    be more-or-less preserved, httpd would be restarted
    without dropping clients. Though there would be issues
    with things like mod_perl/php/python persistent variables,
    and maybe a small window where requests are dropped.

  * httpd could be upgraded without dropping clients

That last reason is my reason, right now when I need to upgrade httpd
my only option is to kill httpd to free up port 80, this means kicking
off a few thousand users who are in the middle of some very lengthy
downloads. Since we use off-peak times like the weekend for doing things
like this, this is really bad for dialup users - many of whom leave a
long multi-day download running on a Friday - and arnt amused when they
get back to the office on the Monday to find I killed it.

But basically, graceful stop is trivially doable - it's the behaviour
os most other daemons (things like sshd for example), it allows for
graceful restarts, it allows graceful upgrades.

But then, maybe I'm missing something, please enlighten me :)

-- 
Colm MacCárthaigh                        Public Key: [EMAIL PROTECTED]

Reply via email to