[event-loop] ignore EAGAIN

Sometimes when debugging under gdb, epoll_wait spuriously
returns EAGAIN.

We treat it like EINTR now.
This commit is contained in:
Ray Strode 2009-10-02 23:25:30 -04:00
parent 9fd849e130
commit e73e8cadd6

View file

@ -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++)
{