From: Ray Strode Date: Thu, 7 Jun 2007 19:09:03 +0000 (-0400) Subject: don't block indefinitely if our timeout timer expires before hitting epoll_wait X-Git-Tag: 0.1.0~190 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6385af9737afcf70ba0ec1e809fbc26d486237bb;p=thirdparty%2Fplymouth.git don't block indefinitely if our timeout timer expires before hitting epoll_wait --- diff --git a/src/libply/ply-event-loop.c b/src/libply/ply-event-loop.c index d805a9d4..6ff1beef 100644 --- a/src/libply/ply-event-loop.c +++ b/src/libply/ply-event-loop.c @@ -1111,7 +1111,10 @@ ply_event_loop_process_pending_events (ply_event_loop_t *loop) if (fabs (loop->wakeup_time - PLY_EVENT_LOOP_NO_TIMED_WAKEUP) <= 0) timeout = -1; else - timeout = (int) ((loop->wakeup_time - ply_get_timestamp ()) * 1000); + { + timeout = (int) ((loop->wakeup_time - ply_get_timestamp ()) * 1000); + timeout = MAX (timeout, 0); + } number_of_received_events = epoll_wait (loop->epoll_fd, events, sizeof (events), timeout);