--- libev/ev.c 2007/12/09 02:12:43 1.171 +++ libev/ev.c 2007/12/09 02:27:44 1.172 @@ -1548,14 +1548,15 @@ W w_ = (W)w; int pending = w_->pending; - if (!pending) + if (expect_true (pending)) + { + ANPENDING *p = pendings [ABSPRI (w_)] + pending - 1; + w_->pending = 0; + p->w = 0; + return p->events; + } + else return 0; - - w_->pending = 0; - ANPENDING *p = pendings [ABSPRI (w_)] + pending - 1; - p->w = 0; - - return p->events; } void inline_size