diff options
| author | Ray Strode <rstrode@redhat.com> | 2007-06-07 15:09:03 -0400 |
|---|---|---|
| committer | Ray Strode <rstrode@redhat.com> | 2007-06-07 15:09:03 -0400 |
| commit | 6385af9737afcf70ba0ec1e809fbc26d486237bb (patch) | |
| tree | 3d3677c6fd3ad4c3bbc13f49451bc66dd7304427 /src | |
| parent | a3d18a2cd2bc6d43f57cd962c88ad25604ff7513 (diff) | |
| download | plymouth-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.c | 5 |
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); |
