diff options
author | Henning Brauer <henning@cvs.openbsd.org> | 2007-12-31 17:21:36 +0000 |
---|---|---|
committer | Henning Brauer <henning@cvs.openbsd.org> | 2007-12-31 17:21:36 +0000 |
commit | 67000964610dbf9ae10dc10a6ddb33eda96ddd8e (patch) | |
tree | 9c479da623aefd4c1c22451a06d5f2fed1784e41 /usr.sbin | |
parent | 8d980d40e55ec8cf8d7314370fb339d8c0a49e90 (diff) |
we must reset the poll timeout to INFTIM when receiving the IMSG_SETTIME
because otherwise the poll timeout will stay at SETTIME_TIMEOUT (15s)
forever unless we time out waiting for the first reply with -s
spotted by Aaron Riekenberg <aaron.riekenberg@gmail.com>
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/ntpd/ntpd.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/usr.sbin/ntpd/ntpd.c b/usr.sbin/ntpd/ntpd.c index c9eb586db47..18dd1500841 100644 --- a/usr.sbin/ntpd/ntpd.c +++ b/usr.sbin/ntpd/ntpd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ntpd.c,v 1.57 2007/12/23 22:40:00 stevesk Exp $ */ +/* $OpenBSD: ntpd.c,v 1.58 2007/12/31 17:21:35 henning Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org> @@ -49,6 +49,7 @@ volatile sig_atomic_t reconfig = 0; volatile sig_atomic_t sigchld = 0; struct imsgbuf *ibuf; int debugsyslog = 0; +int timeout = INFTIM; void sighdlr(int sig) @@ -86,7 +87,7 @@ main(int argc, char *argv[]) struct pollfd pfd[POLL_MAX]; pid_t chld_pid = 0, pid; const char *conffile; - int ch, nfds, timeout = INFTIM; + int ch, nfds; int pipe_chld[2]; struct passwd *pw; @@ -308,6 +309,7 @@ dispatch_imsg(struct ntpd_conf *lconf) if (daemon(1, 0)) fatal("daemon"); lconf->settime = 0; + timeout = INFTIM; break; case IMSG_HOST_DNS: name = imsg.data; |