double block;
loop_done = flags & (EVLOOP_ONESHOT | EVLOOP_NONBLOCK) ? 1 : 0;
- do
+ while (activecnt)
{
/* queue check watchers (and execute them) */
if (expect_false (preparecnt))
queue_events (EV_A_ (W *)checks, checkcnt, EV_CHECK);
call_pending (EV_A);
+
+ if (loop_done)
+ break;
}
- while (activecnt && !loop_done);
if (loop_done != 2)
loop_done = 0;