summaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/ntpd/ntpd.c6
-rw-r--r--usr.sbin/ntpd/ntpd.h3
2 files changed, 7 insertions, 2 deletions
diff --git a/usr.sbin/ntpd/ntpd.c b/usr.sbin/ntpd/ntpd.c
index f4955903e67..0a7ab12c295 100644
--- a/usr.sbin/ntpd/ntpd.c
+++ b/usr.sbin/ntpd/ntpd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ntpd.c,v 1.18 2004/09/18 20:01:38 henning Exp $ */
+/* $OpenBSD: ntpd.c,v 1.19 2004/09/18 20:27:57 henning Exp $ */
/*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -314,6 +314,10 @@ ntpd_settime(double d)
char buf[80];
time_t tval;
+ /* if the offset is small, don't call settimeofday */
+ if (d < SETTIME_MIN_OFFSET && d > -SETTIME_MIN_OFFSET)
+ return;
+
d_to_tv(d, &tv);
if (gettimeofday(&curtime, NULL) == -1)
log_warn("gettimeofday");
diff --git a/usr.sbin/ntpd/ntpd.h b/usr.sbin/ntpd/ntpd.h
index 19705d8a4b7..ac4cb360b91 100644
--- a/usr.sbin/ntpd/ntpd.h
+++ b/usr.sbin/ntpd/ntpd.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ntpd.h,v 1.38 2004/09/18 20:01:38 henning Exp $ */
+/* $OpenBSD: ntpd.h,v 1.39 2004/09/18 20:27:57 henning Exp $ */
/*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -48,6 +48,7 @@
#define QUERYTIME_MAX 15 /* single query might take n secs max */
#define OFFSET_ARRAY_SIZE 8
+#define SETTIME_MIN_OFFSET 180 /* min offset for settime at start */
enum client_state {
STATE_NONE,