diff options
author | Henning Brauer <henning@cvs.openbsd.org> | 2018-07-12 19:31:06 +0000 |
---|---|---|
committer | Henning Brauer <henning@cvs.openbsd.org> | 2018-07-12 19:31:06 +0000 |
commit | 1b2f35a136b635e8ed24e6a09d3f1fa405d33471 (patch) | |
tree | 512a6d6c1478950d0fdefac8a5c80aab0ef48f02 /usr.sbin/ntpd/ntp.c | |
parent | e9811018bbc947c1ea22858c653ab75b0e139e6e (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.c | 10 |
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) |