Lines Matching refs:epollop

89 struct epollop {  struct
147 struct epollop *epollop; in epoll_init() local
164 if (!(epollop = mm_calloc(1, sizeof(struct epollop)))) { in epoll_init()
169 epollop->epfd = epfd; in epoll_init()
172 epollop->events = mm_calloc(INITIAL_NEVENT, sizeof(struct epoll_event)); in epoll_init()
173 if (epollop->events == NULL) { in epoll_init()
174 mm_free(epollop); in epoll_init()
178 epollop->nevents = INITIAL_NEVENT; in epoll_init()
197 … fd = epollop->timerfd = timerfd_create(CLOCK_MONOTONIC, TFD_NONBLOCK|TFD_CLOEXEC); in epoll_init()
198 if (epollop->timerfd >= 0) { in epoll_init()
201 epev.data.fd = epollop->timerfd; in epoll_init()
203 if (epoll_ctl(epollop->epfd, EPOLL_CTL_ADD, fd, &epev) < 0) { in epoll_init()
206 epollop->timerfd = -1; in epoll_init()
216 epollop->timerfd = -1; in epoll_init()
219 epollop->timerfd = -1; in epoll_init()
225 return (epollop); in epoll_init()
271 struct epollop *epollop, in epoll_apply_one_change() argument
293 if (epoll_ctl(epollop->epfd, op, ch->fd, &epev) == 0) { in epoll_apply_one_change()
305 if (epoll_ctl(epollop->epfd, EPOLL_CTL_ADD, ch->fd, &epev) == -1) { in epoll_apply_one_change()
326 if (epoll_ctl(epollop->epfd, EPOLL_CTL_MOD, ch->fd, &epev) == -1) { in epoll_apply_one_change()
362 struct epollop *epollop = base->evbase; in epoll_apply_changes() local
370 if (epoll_apply_one_change(base, epollop, ch) < 0) in epoll_apply_changes()
422 struct epollop *epollop = base->evbase; in epoll_dispatch() local
423 struct epoll_event *events = epollop->events; in epoll_dispatch()
428 if (epollop->timerfd >= 0) { in epoll_dispatch()
449 if (timerfd_settime(epollop->timerfd, 0, &is, NULL) < 0) { in epoll_dispatch()
468 res = epoll_wait(epollop->epfd, events, epollop->nevents, timeout); in epoll_dispatch()
482 EVUTIL_ASSERT(res <= epollop->nevents); in epoll_dispatch()
488 if (events[i].data.fd == epollop->timerfd) in epoll_dispatch()
511 if (res == epollop->nevents && epollop->nevents < MAX_NEVENT) { in epoll_dispatch()
514 int new_nevents = epollop->nevents * 2; in epoll_dispatch()
517 new_events = mm_realloc(epollop->events, in epoll_dispatch()
520 epollop->events = new_events; in epoll_dispatch()
521 epollop->nevents = new_nevents; in epoll_dispatch()
532 struct epollop *epollop = base->evbase; in epoll_dealloc() local
535 if (epollop->events) in epoll_dealloc()
536 mm_free(epollop->events); in epoll_dealloc()
537 if (epollop->epfd >= 0) in epoll_dealloc()
538 close(epollop->epfd); in epoll_dealloc()
540 if (epollop->timerfd >= 0) in epoll_dealloc()
541 close(epollop->timerfd); in epoll_dealloc()
544 memset(epollop, 0, sizeof(struct epollop)); in epoll_dealloc()
545 mm_free(epollop); in epoll_dealloc()