summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2007-06-07 15:09:03 -0400
committerRay Strode <rstrode@redhat.com>2007-06-07 15:09:03 -0400
commit6385af9737afcf70ba0ec1e809fbc26d486237bb (patch)
tree3d3677c6fd3ad4c3bbc13f49451bc66dd7304427 /src
parenta3d18a2cd2bc6d43f57cd962c88ad25604ff7513 (diff)
downloadplymouth-6385af9737afcf70ba0ec1e809fbc26d486237bb.tar.gz
plymouth-6385af9737afcf70ba0ec1e809fbc26d486237bb.tar.xz
plymouth-6385af9737afcf70ba0ec1e809fbc26d486237bb.zip
don't block indefinitely if our timeout timer expires before hitting epoll_wait
Diffstat (limited to 'src')
-rw-r--r--src/libply/ply-event-loop.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libply/ply-event-loop.c b/src/libply/ply-event-loop.c
index d805a9d..6ff1bee 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);