diff options
-rw-r--r-- | ev.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -1344,7 +1344,7 @@ ev_loop (EV_P_ int flags) call_pending (EV_A); /* in case we recurse, ensure ordering stays nice and clean */ - while (activecnt) + for (;;) { #ifndef _WIN32 if (expect_false (curpid)) /* penalise the forking check even more */ @@ -1372,6 +1372,9 @@ ev_loop (EV_P_ int flags) call_pending (EV_A); } + if (expect_false (!activecnt)) + break; + /* we might have forked, so reify kernel state if necessary */ if (expect_false (postfork)) loop_fork (EV_A); |