---
+* [Bug 2745] ntpd -x steps clock on leap second
+ Do leap second stepping only of the step adjustment is beyond the
+ proper jump distance limit and step correction is allowed at all.
* [Bug 2794] Clean up kernel clock status reports.
* [Bug 2804] install-local-data assumes GNU 'find' semantics.
* [Bug 2808] GPSD_JSON driver enhancements, step 1.
# endif
# ifdef DEBUG
if (debug >= 4)
- write(1, msg, strlen(msg));
+ (void)(0 != write(1, msg, strlen(msg)));
# endif
}
#endif /* SYS_WINNT */
* announce the leap event has happened.
*/
if (lsdata.warped < 0) {
- step_systime(lsdata.warped);
- msyslog(LOG_NOTICE, "Inserting positive leap second.");
+ if (clock_max_back > 0.0 &&
+ clock_max_back < fabs(lsdata.warped)) {
+ step_systime(lsdata.warped);
+ msyslog(LOG_NOTICE, "Positive leap second, stepped backward.");
+ } else {
+ msyslog(LOG_NOTICE, "Positive leap second, expect heavy slowdown slew.");
+ }
} else if (lsdata.warped > 0) {
- step_systime(lsdata.warped);
- msyslog(LOG_NOTICE, "Inserting negative leap second.");
+ if (clock_max_fwd > 0.0 &&
+ clock_max_fwd < fabs(lsdata.warped)) {
+ step_systime(lsdata.warped);
+ msyslog(LOG_NOTICE, "Negative leap second, stepped forward.");
+ } else {
+ msyslog(LOG_NOTICE, "Negative leap second, expect heavy speedup slew.");
+ }
}
report_event(EVNT_LEAP, NULL, NULL);
lsprox = LSPROX_NOWARN;