summaryrefslogtreecommitdiff
path: root/usr.sbin/ntpd/ntp.c
diff options
context:
space:
mode:
authorHenning Brauer <henning@cvs.openbsd.org>2018-07-12 19:31:06 +0000
committerHenning Brauer <henning@cvs.openbsd.org>2018-07-12 19:31:06 +0000
commit1b2f35a136b635e8ed24e6a09d3f1fa405d33471 (patch)
tree512a6d6c1478950d0fdefac8a5c80aab0ef48f02 /usr.sbin/ntpd/ntp.c
parente9811018bbc947c1ea22858c653ab75b0e139e6e (diff)
if we couldn't update the clock for ~1h due to lack of data from peers and
sensors, mark us unsynced again. ok reyk krw, pt out / discussion / help naddy
Diffstat (limited to 'usr.sbin/ntpd/ntp.c')
-rw-r--r--usr.sbin/ntpd/ntp.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/usr.sbin/ntpd/ntp.c b/usr.sbin/ntpd/ntp.c
index f7a6edec79b..cbc70723d7f 100644
--- a/usr.sbin/ntpd/ntp.c
+++ b/usr.sbin/ntpd/ntp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ntp.c,v 1.146 2017/05/30 23:30:48 benno Exp $ */
+/* $OpenBSD: ntp.c,v 1.147 2018/07/12 19:31:05 henning Exp $ */
/*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -316,6 +316,14 @@ ntp_main(struct ntpd_conf *nconf, struct passwd *pw, int argc, char **argv)
(peer_cnt == 0 && sensors_cnt == 0)))
priv_settime(0); /* no good peers, don't wait */
+ if (conf->status.synced && gettime() - conf->status.reftime >
+ INTERVAL_QUERY_PATHETIC * QSCALE_OFF_MAX / QSCALE_OFF_MIN *
+ 1.2) {
+ /* no update seen for ~1h */
+ log_info("clock is now unsynced");
+ conf->status.synced = 0;
+ }
+
if (ibuf_main->w.queued > 0)
pfd[PFD_PIPE_MAIN].events |= POLLOUT;
if (ibuf_dns->w.queued > 0)