From 8c06ec3276ff10f8b970a83467e0b3c4e28f4f5f Mon Sep 17 00:00:00 2001 From: Přemysl Janouch Date: Mon, 4 Jan 2016 00:54:27 +0100 Subject: Fix the kqueue poller backend --- liberty.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/liberty.c b/liberty.c index e54cfec..78371f5 100644 --- a/liberty.c +++ b/liberty.c @@ -1848,10 +1848,10 @@ poller_run (struct poller *self) int n_fds; do { - struct timespec ts = poller_timeout_to_timespec - (poller_common_get_timeout (&self->common)); + int timeout = poller_common_get_timeout (&self->common); + struct timespec ts = poller_timeout_to_timespec (timeout); n_fds = kevent (self->kqueue_fd, - NULL, 0, self->revents, self->len, &ts); + NULL, 0, self->revents, self->len, timeout < 0 ? NULL : &ts); } while (n_fds == -1 && errno == EINTR); -- cgit v1.2.3-70-g09d2