From 59a5b000e03a17fd1708bb912a20ea198e5d1539 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 29 Aug 2011 10:18:50 +0200 Subject: ntp_server: check for select() failures Fix freeze after signal was handled. --- src/ntp_server.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/ntp_server.c') diff --git a/src/ntp_server.c b/src/ntp_server.c index 0705c7fc9..8e4aca6bd 100644 --- a/src/ntp_server.c +++ b/src/ntp_server.c @@ -112,7 +112,9 @@ ntp_server_check(struct ntp_server *ntp, struct timeval *tout) FD_SET(ntp->fd, &rdfds); fdmax = ntp->fd; - select(fdmax + 1, &rdfds,NULL, NULL, tout); + if (select(fdmax + 1, &rdfds,NULL, NULL, tout) <= 0) + return false; + if (FD_ISSET(ntp->fd, &rdfds)) { if (!ntp_server_handle(ntp)) { g_debug("unable to send timing response\n"); -- cgit v1.2.3