summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ev.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/ev.c b/ev.c
index 808e07d..823b68c 100644
--- a/ev.c
+++ b/ev.c
@@ -1548,14 +1548,15 @@ ev_clear_pending (EV_P_ void *w)
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