|
|
|
@ -246,23 +246,23 @@ gint li_receive_fd(gint s, gint *fd) { /* read fd from unix socket s */ |
|
|
|
|
|
|
|
|
|
void li_ev_io_add_events(struct ev_loop *loop, ev_io *watcher, int events) { |
|
|
|
|
if ((watcher->events & events) == events) return; |
|
|
|
|
ev_io_stop(loop, watcher); |
|
|
|
|
if (loop != NULL) ev_io_stop(loop, watcher); |
|
|
|
|
ev_io_set(watcher, watcher->fd, watcher->events | events); |
|
|
|
|
ev_io_start(loop, watcher); |
|
|
|
|
if (loop != NULL) ev_io_start(loop, watcher); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void li_ev_io_rem_events(struct ev_loop *loop, ev_io *watcher, int events) { |
|
|
|
|
if (0 == (watcher->events & events)) return; |
|
|
|
|
ev_io_stop(loop, watcher); |
|
|
|
|
if (loop != NULL) ev_io_stop(loop, watcher); |
|
|
|
|
ev_io_set(watcher, watcher->fd, watcher->events & ~events); |
|
|
|
|
ev_io_start(loop, watcher); |
|
|
|
|
if (loop != NULL) ev_io_start(loop, watcher); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void li_ev_io_set_events(struct ev_loop *loop, ev_io *watcher, int events) { |
|
|
|
|
if (events == (watcher->events & (EV_READ | EV_WRITE))) return; |
|
|
|
|
ev_io_stop(loop, watcher); |
|
|
|
|
if (loop != NULL) ev_io_stop(loop, watcher); |
|
|
|
|
ev_io_set(watcher, watcher->fd, (watcher->events & ~(EV_READ | EV_WRITE)) | events); |
|
|
|
|
ev_io_start(loop, watcher); |
|
|
|
|
if (loop != NULL) ev_io_start(loop, watcher); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|