Lines Matching defs:epollop
88 struct epollop {
146 struct epollop *epollop;
163 if (!(epollop = mm_calloc(1, sizeof(struct epollop)))) {
168 epollop->epfd = epfd;
171 epollop->events = mm_calloc(INITIAL_NEVENT, sizeof(struct epoll_event));
172 if (epollop->events == NULL) {
173 mm_free(epollop);
177 epollop->nevents = INITIAL_NEVENT;
196 fd = epollop->timerfd = timerfd_create(CLOCK_MONOTONIC, TFD_NONBLOCK|TFD_CLOEXEC);
197 if (epollop->timerfd >= 0) {
200 epev.data.fd = epollop->timerfd;
202 if (epoll_ctl(epollop->epfd, EPOLL_CTL_ADD, fd, &epev) < 0) {
205 epollop->timerfd = -1;
215 epollop->timerfd = -1;
218 epollop->timerfd = -1;
224 return (epollop);
270 struct epollop *epollop,
292 if (epoll_ctl(epollop->epfd, op, ch->fd, &epev) == 0) {
304 if (epoll_ctl(epollop->epfd, EPOLL_CTL_ADD, ch->fd, &epev) == -1) {
325 if (epoll_ctl(epollop->epfd, EPOLL_CTL_MOD, ch->fd, &epev) == -1) {
361 struct epollop *epollop = base->evbase;
369 if (epoll_apply_one_change(base, epollop, ch) < 0)
421 struct epollop *epollop = base->evbase;
422 struct epoll_event *events = epollop->events;
427 if (epollop->timerfd >= 0) {
448 if (timerfd_settime(epollop->timerfd, 0, &is, NULL) < 0) {
467 res = epoll_wait(epollop->epfd, events, epollop->nevents, timeout);
481 EVUTIL_ASSERT(res <= epollop->nevents);
487 if (events[i].data.fd == epollop->timerfd)
510 if (res == epollop->nevents && epollop->nevents < MAX_NEVENT) {
513 int new_nevents = epollop->nevents * 2;
516 new_events = mm_realloc(epollop->events,
519 epollop->events = new_events;
520 epollop->nevents = new_nevents;
531 struct epollop *epollop = base->evbase;
534 if (epollop->events)
535 mm_free(epollop->events);
536 if (epollop->epfd >= 0)
537 close(epollop->epfd);
539 if (epollop->timerfd >= 0)
540 close(epollop->timerfd);
543 memset(epollop, 0, sizeof(struct epollop));
544 mm_free(epollop);