From ad0650b7fa650ef2eeb37857176d773e95c36890 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Sun, 5 Aug 2012 03:47:15 -0700 Subject: [PATCH] Suppress small offsets. They are likely just due to rounding. --- src/SNTPClient.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/SNTPClient.cpp b/src/SNTPClient.cpp index 84460101fb..5dfe2af076 100644 --- a/src/SNTPClient.cpp +++ b/src/SNTPClient.cpp @@ -134,14 +134,16 @@ void SNTPClient::processReply() time_t now = time(NULL); timev -= now; timev -= NTP_UNIX_OFFSET; - Log(lsTRACE) << "SNTP: Offset is " << timev; + + if ((timev == -1) || (timev == 1)) // small corrections likely do more harm than good + timev = 0; if ((mLastOffsetUpdate == (time_t) -1) || (mLastOffsetUpdate < (now - 180))) mOffset = timev; else mOffset = ((mOffset * 7) + timev) / 8; mLastOffsetUpdate = now; - Log(lsTRACE) << "SNTP: Offset is " << timev << ", new system offset is " << timev; + Log(lsTRACE) << "SNTP: Offset is " << timev << ", new system offset is " << mOffset; } void SNTPClient::timerEntry(const boost::system::error_code& error)