diff --git a/src/usr.sbin/ntpd/ntpd.h b/src/usr.sbin/ntpd/ntpd.h index ca5262cf..6ceea199 100644 --- a/src/usr.sbin/ntpd/ntpd.h +++ b/src/usr.sbin/ntpd/ntpd.h @@ -1,4 +1,4 @@ -/* $OpenBSD: ntpd.h,v 1.78 2006/10/27 12:22:41 henning Exp $ */ +/* $OpenBSD: ntpd.h,v 1.79 2006/11/20 20:58:47 henning Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer @@ -138,6 +138,7 @@ struct ntp_sensor { struct ntp_offset offsets[SENSOR_OFFSETS]; struct ntp_offset update; time_t next; + time_t last; char *device; int sensorid; u_int8_t weight; diff --git a/src/usr.sbin/ntpd/sensors.c b/src/usr.sbin/ntpd/sensors.c index 41b6dd51..612b695e 100644 --- a/src/usr.sbin/ntpd/sensors.c +++ b/src/usr.sbin/ntpd/sensors.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sensors.c,v 1.25 2006/10/27 12:22:41 henning Exp $ */ +/* $OpenBSD: sensors.c,v 1.26 2006/11/20 20:58:47 henning Exp $ */ /* * Copyright (c) 2006 Henning Brauer @@ -156,9 +156,10 @@ sensor_query(struct ntp_sensor *s) return; } - if (sensor.tv.tv_sec == s->update.rcvd) /* already seen */ + if (sensor.tv.tv_sec == s->last) /* already seen */ return; + s->last = sensor.tv.tv_sec; memcpy(&refid, "HARD", sizeof(refid)); s->offsets[s->shift].offset = (0 - (float)sensor.value / 1000000000.0) - getoffset();