diff options
author | Ray Strode <rstrode@redhat.com> | 2009-10-02 23:25:30 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2009-10-04 10:44:16 -0400 |
commit | e73e8cadd6b2b28e448710cffd85e32eb2083c83 (patch) | |
tree | 6026c45f21e7ed69cfcfee59837ff12fce61993b | |
parent | 9fd849e130db63ccca93d3c661751a13781bbbbf (diff) |
[event-loop] ignore EAGAIN
Sometimes when debugging under gdb, epoll_wait spuriously
returns EAGAIN.
We treat it like EINTR now.
-rw-r--r-- | src/libply/ply-event-loop.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libply/ply-event-loop.c b/src/libply/ply-event-loop.c index 33bd52c7..7a757b08 100644 --- a/src/libply/ply-event-loop.c +++ b/src/libply/ply-event-loop.c @@ -1252,14 +1252,14 @@ ply_event_loop_process_pending_events (ply_event_loop_t *loop) if (number_of_received_events < 0) { - if (errno != EINTR) + if (errno != EINTR && errno != EAGAIN) { ply_event_loop_exit (loop, 255); return; } } } - while ((number_of_received_events < 0) && (errno == EINTR)); + while ((number_of_received_events < 0) && ((errno == EINTR) || (errno == EAGAIN))); for (i = 0; i < number_of_received_events; i++) { |