[git commit master] ntpd: fix "synced" state detection

Denys Vlasenko vda.linux at googlemail.com
Wed Dec 2 11:29:06 UTC 2009


commit: http://git.busybox.net/busybox/commit/?id=ebde6f10fbce0e1843cf1ffa2b1f2697d0139117
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 networking/ntpd.c |   19 +++++++------------
 1 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/networking/ntpd.c b/networking/ntpd.c
index 17748b0..b100caa 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);
 
-- 
1.6.3.3



More information about the busybox-cvs mailing list