From ebde6f10fbce0e1843cf1ffa2b1f2697d0139117 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Wed, 2 Dec 2009 12:29:06 +0100 Subject: [PATCH] ntpd: fix "synced" state detection Signed-off-by: Denys Vlasenko --- networking/ntpd.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) 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);