chrony/chrony-delta.patch
2013-03-12 18:06:38 +01:00

25 lines
1012 B
Diff

commit 0bb772c575b3842c38e6a58591ecea94449e9bae
Author: Miroslav Lichvar <mlichvar@redhat.com>
Date: Fri Mar 8 13:54:10 2013 +0100
Fix delta calculation with extreme frequency offsets
This should prevent chronyd from getting stuck and refusing new samples
due to failing test4 when the current measured frequency offset is close
to 1.0. That can happen when the system clock is stepped forward behind
chronyd's back.
diff --git a/ntp_core.c b/ntp_core.c
index 0fb93e1..be9f613 100644
--- a/ntp_core.c
+++ b/ntp_core.c
@@ -793,7 +793,7 @@ receive_packet(NTP_Packet *message, struct timeval *now, double now_err, NCR_Ins
assuming worst case frequency error between us and the other
source */
- delta = local_interval - remote_interval / (1.0 - source_freq_lo);
+ delta = local_interval - remote_interval * (1.0 + source_freq_lo);
/* Calculate theta. Following the NTP definition, this is negative
if we are fast of the remote source. */