X-Git-Url: https://git.llucax.com/software/libev.git/blobdiff_plain/1e251ffd9e2bf720df7759c2eb3c807f5b0d474f..647706a2acbfa58a6fdf5fb3ab17f82833faa0b0:/ev.c diff --git a/ev.c b/ev.c index 2084805..221da59 100644 --- a/ev.c +++ b/ev.c @@ -1344,7 +1344,7 @@ ev_loop (EV_P_ int flags) call_pending (EV_A); /* in case we recurse, ensure ordering stays nice and clean */ - for (;;) + while (expect_false (!activecnt)) { #ifndef _WIN32 if (expect_false (curpid)) /* penalise the forking check even more */ @@ -1386,7 +1386,7 @@ ev_loop (EV_P_ int flags) { ev_tstamp block; - if (flags & EVLOOP_NONBLOCK || idlecnt) + if (expect_false (flags & EVLOOP_NONBLOCK || idlecnt || !activecnt)) block = 0.; /* do not block at all */ else {