]> git.llucax.com Git - software/libev.git/blobdiff - ev.c
susv3 specifies rounding behaviour to go up, so screw broken osses
[software/libev.git] / ev.c
diff --git a/ev.c b/ev.c
index 808e07da1ad47115b07aa9dbf556de9755e3e287..823b68cf8b3b794a5a2fa55fb9d6f3cf96a1e8d3 100644 (file)
--- 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