Why can't ExecStopPre= be used to abort stopping a (broken) service?

Miroslav Lichvar mlichvar at redhat.com
Wed Jul 17 09:29:45 UTC 2013


On Tue, Jul 16, 2013 at 09:47:39PM +0200, Lennart Poettering wrote:
> On Tue, 16.07.13 21:10, Miroslav Lichvar (mlichvar at redhat.com) wrote:
> > Possibly related question: Is there a way to start a daemon with
> > different options on restart than on start, something like
> > ExecRestart?
> 
> No. And I am not convinced that that's a good idea to have.

Is this one of the "never going to happen" things or could you be
convinced?

> > This would allow restarting chronyd with the -r option to load old
> > samples and speed up the initial synchronization.
> 
> Hmm, this sounds like something to maybe just solve based on a simple
> time scheme? i.e. reuse if the old samples are not older than 1h or so?

I don't think a time check would be reliable here. The samples should
be loaded only when they are still valid, i.e. nothing else has
touched the clock. It improves the initial response if used
correctly, but makes it much worse if used with invalid samples.
And chronyd can't know how good are the samples until it's too late.

The safest approach is to use in only when the service is restarted.
It must not be used when someone stops the service, runs ntpdate and
starts chronyd again.

An even better example might be the -R option, which tells chronyd to
not step the clock on start. If it was used on service restart, we
would be sure there are no time jumps when the chrony package is
upgraded.

-- 
Miroslav Lichvar


More information about the devel mailing list