On 2015-02-20 11:12 AM, Ingo Schwarze wrote:
Hi Craig,
Craig Skinner wrote on Fri, Feb 20, 2015 at 04:41:17PM +0000:
Changed to skip pflogd, syslogd & check /var/run/rc.d/
No, we don't want it, and we have given reasons: It makes the code
longer, more fragile, and provides no known benefit whatsoever.
Fixing the most blatant downsides does not change that.
Which problem are you trying to solve?
Yours,
Ingo
Two daemons that would very much matter are ospfd and bgpd. Normally,
doing a clean shutdown of bgpd is the LAST thing I want, because that
would break BGP graceful-restart - that capability relies on BGP simply
disappearing. If I shut down BGPd, I withdraw all my prefixes. A clean
shutdown of BGP can take several minutes; only very rarely would I want
to sit and wait for BGPd to shut down before rebooting. (Ospfd would be
similarly affected IIRC.)
And by the time we get to special-casing half the daemons in base,
what's the point? Doing a clean shutdown of nfsd (or lockd or statd)
would be harmful to certain clients that would otherwise survive the
nfsd reboot. Ditto for iked, sasyncd, iscsid, ldpd, and possibly even
ntpd (not sure about that one).
Client-server protocols are generally written to retry on, or otherwise
be resilient to, failure; signalling shutdown when I have to kick the
server in the head for some reason (which, yes, even happens with
OpenBSD :-)) would be a bad thing for some to many clients.
--
-Adam Thompson
athom...@athompso.net