Lines Matching refs:ev
51 # define dLOOPev struct ev_loop *loop = (struct ev_loop *)ev->ev_base
160 (const struct event *ev) in event_get_callback() argument
162 return ev->ev_callback; in event_get_callback()
166 ev_x_cb (struct event *ev, int revents) in ev_x_cb() argument
170 ev->ev_res = revents; in ev_x_cb()
171 ev->ev_callback (ev->ev_fd, (short)revents, ev->ev_arg); in ev_x_cb()
177 struct event *ev = (struct event *)(((char *)w) - offsetof (struct event, iosig.sig)); in ev_x_cb_sig() local
180 event_del (ev); in ev_x_cb_sig()
182 ev_x_cb (ev, revents); in ev_x_cb_sig()
188 struct event *ev = (struct event *)(((char *)w) - offsetof (struct event, iosig.io)); in ev_x_cb_io() local
190 if ((revents & EV_ERROR) || !(ev->ev_events & EV_PERSIST)) in ev_x_cb_io()
191 event_del (ev); in ev_x_cb_io()
193 ev_x_cb (ev, revents); in ev_x_cb_io()
199 struct event *ev = (struct event *)(((char *)w) - offsetof (struct event, to)); in ev_x_cb_to() local
201 event_del (ev); in ev_x_cb_to()
203 ev_x_cb (ev, revents); in ev_x_cb_to()
206 void event_set (struct event *ev, int fd, short events, void (*cb)(int, short, void *), void *arg) in event_set() argument
209 ev_init (&ev->iosig.sig, ev_x_cb_sig); in event_set()
211 ev_init (&ev->iosig.io, ev_x_cb_io); in event_set()
213 ev_init (&ev->to, ev_x_cb_to); in event_set()
215 ev->ev_base = ev_x_cur; /* not threadsafe, but it's how libevent works */ in event_set()
216 ev->ev_fd = fd; in event_set()
217 ev->ev_events = events; in event_set()
218 ev->ev_pri = 0; in event_set()
219 ev->ev_callback = cb; in event_set()
220 ev->ev_arg = arg; in event_set()
221 ev->ev_res = 0; in event_set()
222 ev->ev_flags = EVLIST_INIT; in event_set()
230 int event_add (struct event *ev, struct timeval *tv) in event_add() argument
234 if (ev->ev_events & EV_SIGNAL) in event_add()
236 if (!ev_is_active (&ev->iosig.sig)) in event_add()
238 ev_signal_set (&ev->iosig.sig, ev->ev_fd); in event_add()
239 ev_signal_start (EV_A_ &ev->iosig.sig); in event_add()
241 ev->ev_flags |= EVLIST_SIGNAL; in event_add()
244 else if (ev->ev_events & (EV_READ | EV_WRITE)) in event_add()
246 if (!ev_is_active (&ev->iosig.io)) in event_add()
248 ev_io_set (&ev->iosig.io, ev->ev_fd, ev->ev_events & (EV_READ | EV_WRITE)); in event_add()
249 ev_io_start (EV_A_ &ev->iosig.io); in event_add()
251 ev->ev_flags |= EVLIST_INSERTED; in event_add()
257 ev->to.repeat = ev_tv_get (tv); in event_add()
258 ev_timer_again (EV_A_ &ev->to); in event_add()
259 ev->ev_flags |= EVLIST_TIMEOUT; in event_add()
263 ev_timer_stop (EV_A_ &ev->to); in event_add()
264 ev->ev_flags &= ~EVLIST_TIMEOUT; in event_add()
267 ev->ev_flags |= EVLIST_ACTIVE; in event_add()
272 int event_del (struct event *ev) in event_del() argument
276 if (ev->ev_events & EV_SIGNAL) in event_del()
277 ev_signal_stop (EV_A_ &ev->iosig.sig); in event_del()
278 else if (ev->ev_events & (EV_READ | EV_WRITE)) in event_del()
279 ev_io_stop (EV_A_ &ev->iosig.io); in event_del()
281 if (ev_is_active (&ev->to)) in event_del()
282 ev_timer_stop (EV_A_ &ev->to); in event_del()
284 ev->ev_flags = EVLIST_INIT; in event_del()
289 void event_active (struct event *ev, int res, short ncalls) in event_active() argument
294 ev_feed_event (EV_A_ &ev->to, res & EV_TIMEOUT); in event_active()
297 ev_feed_event (EV_A_ &ev->iosig.sig, res & EV_SIGNAL); in event_active()
300 ev_feed_event (EV_A_ &ev->iosig.io, res & (EV_READ | EV_WRITE)); in event_active()
303 int event_pending (struct event *ev, short events, struct timeval *tv) in event_pending() argument
308 if (ev->ev_events & EV_SIGNAL) in event_pending()
311 if (ev_is_active (&ev->iosig.sig) || ev_is_pending (&ev->iosig.sig)) in event_pending()
314 else if (ev->ev_events & (EV_READ | EV_WRITE)) in event_pending()
317 if (ev_is_active (&ev->iosig.io) || ev_is_pending (&ev->iosig.io)) in event_pending()
318 revents |= ev->ev_events & (EV_READ | EV_WRITE); in event_pending()
321 if (ev->ev_events & EV_TIMEOUT || ev_is_active (&ev->to) || ev_is_pending (&ev->to)) in event_pending()
342 int event_priority_set (struct event *ev, int pri) in event_priority_set() argument
344 ev->ev_pri = pri; in event_priority_set()
349 int event_base_set (struct event_base *base, struct event *ev) in event_base_set() argument
351 ev->ev_base = base; in event_base_set()