--- libev/ev.c 2012/05/01 22:01:40 1.424 +++ libev/ev.c 2012/05/06 13:09:35 1.425 @@ -1432,6 +1432,8 @@ pendings [pri][w_->pending - 1].w = w_; pendings [pri][w_->pending - 1].events = revents; } + + pendingpri = NUMPRI - 1; } inline_speed void @@ -2687,12 +2689,10 @@ void noinline ev_invoke_pending (EV_P) { - int pri; - - for (pri = NUMPRI; pri--; ) - while (pendingcnt [pri]) + for (pendingpri = NUMPRI; pendingpri--; ) /* pendingpri is modified during the loop */ + while (pendingcnt [pendingpri]) { - ANPENDING *p = pendings [pri] + --pendingcnt [pri]; + ANPENDING *p = pendings [pendingpri] + --pendingcnt [pendingpri]; p->w->pending = 0; EV_CB_INVOKE (p->w, p->events);