summaryrefslogtreecommitdiff
path: root/ev.c
diff options
context:
space:
mode:
authorroot <root>2007-12-01 19:48:36 +0000
committerroot <root>2007-12-01 19:48:36 +0000
commit1e251ffd9e2bf720df7759c2eb3c807f5b0d474f (patch)
treee0798a40bdf875dc4c115dec021b1e79f67fa800 /ev.c
parentf704b88a866e3a27e03f686cc4ac69dd7d6414dd (diff)
*** empty log message ***
Diffstat (limited to 'ev.c')
-rw-r--r--ev.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ev.c b/ev.c
index 3518002..2084805 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 */
- 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);