diff options
author | root <root> | 2007-12-08 14:12:07 +0000 |
---|---|---|
committer | root <root> | 2007-12-08 14:12:07 +0000 |
commit | 480621758fe1687120978562a553920ed46e1b7e (patch) | |
tree | 12e3f18a656864a877d1b3738f9fb74be1bd862b | |
parent | 74ab025f4b269ca1365059e6e07834e452adfabc (diff) |
*** empty log message ***
-rw-r--r-- | ev.c | 9 | ||||
-rw-r--r-- | ev.h | 1 | ||||
-rw-r--r-- | ev.pod | 12 |
3 files changed, 21 insertions, 1 deletions
@@ -509,7 +509,8 @@ fd_event (EV_P_ int fd, int revents) void ev_feed_fd_event (EV_P_ int fd, int revents) { - fd_event (EV_A_ fd, revents); + if (fd >= 0 && fd < anfdmax) + fd_event (EV_A_ fd, revents); } void inline_size @@ -1165,6 +1166,12 @@ ev_default_fork (void) /*****************************************************************************/ +void +ev_invoke (EV_P_ void *w, int revents) +{ + EV_CB_INVOKE ((W)w, revents); +} + void inline_speed call_pending (EV_P) { @@ -475,6 +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_invoke (EV_P_ void *w, int revents); int ev_clear_pending (EV_P_ void *w); void ev_io_start (EV_P_ ev_io *w); @@ -779,6 +779,18 @@ Setting a priority outside the range of C<EV_MINPRI> to C<EV_MAXPRI> is fine, as long as you do not mind that the priority value you query might or might not have been adjusted to be within valid range. +=item ev_invoke (loop, ev_TYPE *watcher, int revents) + +Invoke the C<watcher> with the given C<loop> and C<revents>. Neither +C<loop> nor C<revents> need to be valid as long as the watcher callback +can deal with that fact. + +=item int ev_clear_pending (loop, ev_TYPE *watcher) + +If the watcher is pending, this function returns clears its pending status +and returns its C<revents> bitset (as if its callback was invoked). If the +watcher isn't pending it does nothing and returns C<0>. + =back |