From 27d211ac0c5f9c213f9253aa67ea882d09518b0e Mon Sep 17 00:00:00 2001 From: imp Date: Wed, 25 Jun 2003 20:56:40 +0000 Subject: During a positive leap second, the tai_time offset should be incremented at the start of the leap second, not after the leap second has been inserted. This is because at the start of the leap second, we set the time back one second. This setting back one second is the moment that the offset changes. The old code set it back after the leap second, but that's one second too late. The negative leap second case is handled correctly. Reviewed by: phk --- sys/kern/kern_ntptime.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sys/kern') diff --git a/sys/kern/kern_ntptime.c b/sys/kern/kern_ntptime.c index 6490cbd..8bf109b 100644 --- a/sys/kern/kern_ntptime.c +++ b/sys/kern/kern_ntptime.c @@ -480,6 +480,7 @@ ntp_update_second(int64_t *adjustment, time_t *newsec) else if ((*newsec) % 86400 == 0) { (*newsec)--; time_state = TIME_OOP; + time_tai++; } break; @@ -500,7 +501,6 @@ ntp_update_second(int64_t *adjustment, time_t *newsec) * Insert second in progress. */ case TIME_OOP: - time_tai++; time_state = TIME_WAIT; break; -- cgit v1.1