summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root>2007-10-31 16:29:52 +0000
committerroot <root>2007-10-31 16:29:52 +0000
commitcaa1fd0cc89d111a00f323bb6eff46f57311aed5 (patch)
treee5d9627b47ccf3c0a037d861d5c4948cacaff7ad
parentb7186278d06b224100f3bbaed1976d014246bbd9 (diff)
make libev safer w.r.t. reentrancy
-rw-r--r--ev.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/ev.c b/ev.c
index f580a88..246b38f 100644
--- a/ev.c
+++ b/ev.c
@@ -418,11 +418,9 @@ fd_reify (void)
static void
call_pending ()
{
- int i;
-
- for (i = 0; i < pendingcnt; ++i)
+ while (pendingcnt)
{
- ANPENDING *p = pendings + i;
+ ANPENDING *p = pendings + --pendingcnt;
if (p->w)
{
@@ -430,8 +428,6 @@ call_pending ()
p->w->cb (p->w, p->events);
}
}
-
- pendingcnt = 0;
}
static void