components/ntp/patches/70-leapslew.patch
author Geoffrey Gardella <geoffrey.gardella@oracle.com>
Thu, 14 Jan 2016 11:26:28 -0800
changeset 5273 3ae19990a6f8
parent 4185 65ec845ad48f
permissions -rw-r--r--
22541240 augeas doesn't build on s12-89
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4185
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     1
This patch can be removed when upgrading to community version that has
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     2
NTP bug 2745 fixed. See http://bugzilla.ntp.org/show_bug.cgi?id=2745
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     3
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     4
--- ntpd/ntp_timer.c
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     5
+++ ntpd/ntp_timer.c
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     6
@@ -472,7 +472,7 @@ alarming(
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     7
 # endif
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     8
 # ifdef DEBUG
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     9
 	if (debug >= 4)
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    10
-		write(1, msg, strlen(msg));
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    11
+		(void)(0 != write(1, msg, strlen(msg)));
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    12
 # endif
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    13
 }
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    14
 #endif /* SYS_WINNT */
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    15
@@ -521,11 +521,23 @@ check_leapsec(
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    16
 		 * announce the leap event has happened.
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    17
 		 */
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    18
 		if (lsdata.warped < 0) {
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    19
-			step_systime(lsdata.warped);
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    20
-			msyslog(LOG_NOTICE, "Inserting positive leap second.");
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    21
+			if (clock_max_back > 0.0 &&
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    22
+			    clock_max_back < fabs(lsdata.warped)) {
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    23
+				step_systime(lsdata.warped);
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    24
+				msyslog(LOG_NOTICE, "Positive leap second, stepped backward.");
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    25
+			} else {
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    26
+				msyslog(LOG_NOTICE, "Positive leap second, expect slowdown slew soon."
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    27
+				    " System clock will be inaccurate until it finishes.");
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    28
+			}
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    29
 		} else 	if (lsdata.warped > 0) {
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    30
-			step_systime(lsdata.warped);
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    31
-			msyslog(LOG_NOTICE, "Inserting negative leap second.");
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    32
+			if (clock_max_fwd > 0.0 &&
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    33
+			    clock_max_fwd < fabs(lsdata.warped)) {
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    34
+				step_systime(lsdata.warped);
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    35
+				msyslog(LOG_NOTICE, "Negative leap second, stepped forward.");
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    36
+			} else {
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    37
+				msyslog(LOG_NOTICE, "Negative leap second, expect speedup slew soon."
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    38
+				    " System clock will be inaccurate until it finishes.");
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    39
+			}
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    40
 		}
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    41
 		report_event(EVNT_LEAP, NULL, NULL);
65ec845ad48f 20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    42
 		lsprox  = LSPROX_NOWARN;