Lines Matching full:ev
271 void event_set(struct event* ev, int fd, short bits, in event_set() argument
274 ev->node.key = ev; in event_set()
275 ev->ev_fd = fd; in event_set()
276 ev->ev_events = bits; in event_set()
277 ev->ev_callback = cb; in event_set()
278 fptr_ok(fptr_whitelist_event(ev->ev_callback)); in event_set()
279 ev->ev_arg = arg; in event_set()
280 ev->added = 0; in event_set()
284 int event_base_set(struct event_base* base, struct event* ev) in event_base_set() argument
286 ev->ev_base = base; in event_base_set()
287 ev->added = 0; in event_base_set()
292 int event_add(struct event* ev, struct timeval* tv) in event_add() argument
294 if(ev->added) in event_add()
295 event_del(ev); in event_add()
296 if(ev->ev_fd != -1 && ev->ev_fd >= ev->ev_base->capfd) in event_add()
298 if( (ev->ev_events&(EV_READ|EV_WRITE)) && ev->ev_fd != -1) { in event_add()
299 ev->ev_base->fds[ev->ev_fd] = ev; in event_add()
300 if((ev->ev_events&EV_READ)) { in event_add()
301 FD_SET(FD_SET_T ev->ev_fd, &ev->ev_base->reads); in event_add()
303 if((ev->ev_events&EV_WRITE)) { in event_add()
304 FD_SET(FD_SET_T ev->ev_fd, &ev->ev_base->writes); in event_add()
306 FD_SET(FD_SET_T ev->ev_fd, &ev->ev_base->content); in event_add()
307 FD_CLR(FD_SET_T ev->ev_fd, &ev->ev_base->ready); in event_add()
308 if(ev->ev_fd > ev->ev_base->maxfd) in event_add()
309 ev->ev_base->maxfd = ev->ev_fd; in event_add()
311 if(tv && (ev->ev_events&EV_TIMEOUT)) { in event_add()
313 struct timeval *now = ev->ev_base->time_tv; in event_add()
314 ev->ev_timeout.tv_sec = tv->tv_sec + now->tv_sec; in event_add()
315 ev->ev_timeout.tv_usec = tv->tv_usec + now->tv_usec; in event_add()
316 while(ev->ev_timeout.tv_usec >= 1000000) { in event_add()
317 ev->ev_timeout.tv_usec -= 1000000; in event_add()
318 ev->ev_timeout.tv_sec++; in event_add()
321 (void)rbtree_insert(ev->ev_base->times, &ev->node); in event_add()
323 ev->added = 1; in event_add()
328 int event_del(struct event* ev) in event_del() argument
330 if(ev->ev_fd != -1 && ev->ev_fd >= ev->ev_base->capfd) in event_del()
332 if((ev->ev_events&EV_TIMEOUT)) in event_del()
333 (void)rbtree_delete(ev->ev_base->times, &ev->node); in event_del()
334 if((ev->ev_events&(EV_READ|EV_WRITE)) && ev->ev_fd != -1) { in event_del()
335 ev->ev_base->fds[ev->ev_fd] = NULL; in event_del()
336 FD_CLR(FD_SET_T ev->ev_fd, &ev->ev_base->reads); in event_del()
337 FD_CLR(FD_SET_T ev->ev_fd, &ev->ev_base->writes); in event_del()
338 FD_CLR(FD_SET_T ev->ev_fd, &ev->ev_base->ready); in event_del()
339 FD_CLR(FD_SET_T ev->ev_fd, &ev->ev_base->content); in event_del()
340 if(ev->ev_fd == ev->ev_base->maxfd) { in event_del()
341 int i = ev->ev_base->maxfd - 1; in event_del()
343 if (NULL != ev->ev_base->fds[i]) { in event_del()
347 ev->ev_base->maxfd = i; in event_del()
350 ev->added = 0; in event_del()
359 struct event* ev; in sigh() local
362 ev = signal_base->signals[sig]; in sigh()
363 if(!ev) in sigh()
365 fptr_ok(fptr_whitelist_event(ev->ev_callback)); in sigh()
366 (*ev->ev_callback)(sig, EV_SIGNAL, ev->ev_arg); in sigh()
370 int signal_add(struct event* ev, struct timeval* ATTR_UNUSED(tv)) in signal_add() argument
372 if(ev->ev_fd == -1 || ev->ev_fd >= MAX_SIG) in signal_add()
374 signal_base = ev->ev_base; in signal_add()
375 ev->ev_base->signals[ev->ev_fd] = ev; in signal_add()
376 ev->added = 1; in signal_add()
377 if(signal(ev->ev_fd, sigh) == SIG_ERR) { in signal_add()
384 int signal_del(struct event* ev) in signal_del() argument
386 if(ev->ev_fd == -1 || ev->ev_fd >= MAX_SIG) in signal_del()
388 ev->ev_base->signals[ev->ev_fd] = NULL; in signal_del()
389 ev->added = 0; in signal_del()