summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2009-10-02 23:25:30 -0400
committerRay Strode <rstrode@redhat.com>2009-10-04 10:44:16 -0400
commite73e8cadd6b2b28e448710cffd85e32eb2083c83 (patch)
tree6026c45f21e7ed69cfcfee59837ff12fce61993b
parent9fd849e130db63ccca93d3c661751a13781bbbbf (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.c4
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++)
{