]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
don't block indefinitely if our timeout timer expires before hitting epoll_wait
authorRay Strode <rstrode@redhat.com>
Thu, 7 Jun 2007 19:09:03 +0000 (15:09 -0400)
committerRay Strode <rstrode@redhat.com>
Thu, 7 Jun 2007 19:09:03 +0000 (15:09 -0400)
src/libply/ply-event-loop.c

index d805a9d4497e30cbf5b7b1ec7f1c70c0170ffc9b..6ff1beef88b5f754182ea868eeb5c1a54215232d 100644 (file)
@@ -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);