smooth: add option to smooth out only leap seconds

The leaponly option can be used to enable a mode where only leap seconds
are smoothed out and normal offset/frequency changes are ignored. This
is useful to make the interval in which a leap second is smoothed out
constant and allow an NTP client to use multiple leap smearing servers
safely.
This commit is contained in:
Miroslav Lichvar
2015-06-02 13:24:04 +02:00
parent 31669f343a
commit 0abdc2a350
6 changed files with 61 additions and 20 deletions

View File

@@ -564,6 +564,9 @@ LCL_NotifyLeap(int leap)
LCL_ReadRawTime(&raw);
LCL_CookTime(&raw, &cooked, NULL);
/* Smooth the leap second out */
SMT_Leap(&cooked, leap);
/* Dispatch to all handlers as if the clock was stepped */
invoke_parameter_change_handlers(&raw, &cooked, 0.0, -leap, LCL_ChangeStep);
}