From: Denys Vlasenko Date: Wed, 2 Dec 2009 11:29:06 +0000 (+0100) Subject: ntpd: fix "synced" state detection X-Git-Tag: 1_16_0~171 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=ebde6f10fbce0e1843cf1ffa2b1f2697d0139117;p=oweals%2Fbusybox.git ntpd: fix "synced" state detection Signed-off-by: Denys Vlasenko --- diff --git a/networking/ntpd.c b/networking/ntpd.c index 17748b0f1..b100caa09 100644 --- a/networking/ntpd.c +++ b/networking/ntpd.c @@ -469,21 +469,16 @@ slew_time(void) } else { if (G.verbose >= 2) bb_error_msg("old adjust: %d.%06u", (int)tv.tv_sec, (unsigned)tv.tv_usec); - if (G.first_adj_done - && tv.tv_sec == 0 - && tv.tv_usec == 0 // TODO: allow for tiny values? - && !G.synced - ) { - G.synced = 1; - bb_error_msg("clock %ssynced", ""); - } else - if (G.synced) { - G.synced = 0; - bb_error_msg("clock %ssynced", "un"); + if (G.first_adj_done) { + uint8_t synced = (tv.tv_sec == 0 && tv.tv_usec == 0); + if (synced != G.synced) { + G.synced = synced; + bb_error_msg("clock is %ssynced", synced ? "" : "un"); + } } + G.first_adj_done = 1; } - G.first_adj_done = 1; G.reftime = gettime1900fp(); G.scale = updated_scale(offset_median);