*** empty log message ***

This commit is contained in:
Marc Alexander Lehmann 2007-11-07 18:47:26 +00:00
parent bc4266c888
commit cc1e33fc2f
1 changed files with 14 additions and 2 deletions

16
ev.c
View File

@ -899,6 +899,18 @@ ev_default_fork (void)
/*****************************************************************************/
static int
any_pending (EV_P)
{
int pri;
for (pri = NUMPRI; pri--; )
if (pendingcnt [pri])
return 1;
return 0;
}
static void
call_pending (EV_P)
{
@ -1091,7 +1103,7 @@ ev_loop (EV_P_ int flags)
/* calculate blocking time */
/* we only need this for !monotonic clockor timers, but as we basically
/* we only need this for !monotonic clock or timers, but as we basically
always have timers, we just calculate it always */
#if EV_USE_MONOTONIC
if (expect_true (have_monotonic))
@ -1134,7 +1146,7 @@ ev_loop (EV_P_ int flags)
periodics_reify (EV_A); /* absolute timers called first */
/* queue idle watchers unless io or timers are pending */
if (!pendingcnt)
if (idlecnt && !any_pending (EV_A))
queue_events (EV_A_ (W *)idles, idlecnt, EV_IDLE);
/* queue check watchers, to be executed first */