From 74ab025f4b269ca1365059e6e07834e452adfabc Mon Sep 17 00:00:00 2001 From: root Date: Sat, 8 Dec 2007 04:02:31 +0000 Subject: *** empty log message *** --- ev.c | 18 ++++++++---------- ev.h | 2 +- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/ev.c b/ev.c index 2001247..260787d 100644 --- a/ev.c +++ b/ev.c @@ -1534,22 +1534,20 @@ clear_pending (EV_P_ W w) } } -void -ev_clear_pending (EV_P_ void *w, int invoke) +int +ev_clear_pending (EV_P_ void *w) { W w_ = (W)w; int pending = w_->pending; - if (pending) - { - ANPENDING *p = pendings [ABSPRI (w_)] + pending - 1; + if (!pending) + return 0; - w_->pending = 0; - p->w = 0; + w_->pending = 0; + ANPENDING *p = pendings [ABSPRI (w_)] + pending - 1; + p->w = 0; - if (invoke) - EV_CB_INVOKE (w_, p->events); - } + return p->events; } void inline_size diff --git a/ev.h b/ev.h index 97c2f90..e92d6da 100644 --- a/ev.h +++ b/ev.h @@ -475,7 +475,7 @@ void ev_once (EV_P_ int fd, int events, ev_tstamp timeout, void (*cb)(int revent void ev_feed_event (EV_P_ void *w, int revents); void ev_feed_fd_event (EV_P_ int fd, int revents); void ev_feed_signal_event (EV_P_ int signum); -void ev_clear_pending (EV_P_ void *w, int invoke); +int ev_clear_pending (EV_P_ void *w); void ev_io_start (EV_P_ ev_io *w); void ev_io_stop (EV_P_ ev_io *w); -- cgit v1.2.3