Home | History | Annotate | Download | only in libevent

Lines Matching full:epollop

64 struct epollop {
113 struct epollop *epollop;
128 if (!(epollop = calloc(1, sizeof(struct epollop))))
131 epollop->epfd = epfd;
134 epollop->events = malloc(INITIAL_NEVENTS * sizeof(struct epoll_event));
135 if (epollop->events == NULL) {
136 free(epollop);
139 epollop->nevents = INITIAL_NEVENTS;
141 epollop->fds = calloc(INITIAL_NFILES, sizeof(struct evepoll));
142 if (epollop->fds == NULL) {
143 free(epollop->events);
144 free(epollop);
147 epollop->nfds = INITIAL_NFILES;
151 return (epollop);
157 struct epollop *epollop = arg;
159 if (max >= epollop->nfds) {
163 nfds = epollop->nfds;
167 fds = realloc(epollop->fds, nfds * sizeof(struct evepoll));
172 epollop->fds = fds;
173 memset(fds + epollop->nfds, 0,
174 (nfds - epollop->nfds) * sizeof(struct evepoll));
175 epollop->nfds = nfds;
184 struct epollop *epollop = arg;
185 struct epoll_event *events = epollop->events;
198 res = epoll_wait(epollop->epfd, events, epollop->nevents, timeout);
219 if (fd < 0 || fd >= epollop->nfds)
221 evep = &epollop->fds[fd];
245 if (res == epollop->nevents && epollop->nevents < MAX_NEVENTS) {
248 int new_nevents = epollop->nevents * 2;
251 new_events = realloc(epollop->events,
254 epollop->events = new_events;
255 epollop->nevents = new_nevents;
266 struct epollop *epollop = arg;
275 if (fd >= epollop->nfds) {
277 if (epoll_recalc(ev->ev_base, epollop, fd) == -1)
280 evep = &epollop->fds[fd];
299 if (epoll_ctl(epollop->epfd, op, ev->ev_fd, &epev) == -1)
314 struct epollop *epollop = arg;
324 if (fd >= epollop->nfds)
326 evep = &epollop->fds[fd];
356 if (epoll_ctl(epollop->epfd, op, fd, &epev) == -1)
365 struct epollop *epollop = arg;
368 if (epollop->fds)
369 free(epollop->fds);
370 if (epollop->events)
371 free(epollop->events);
372 if (epollop->epfd >= 0)
373 close(epollop->epfd);
375 memset(epollop, 0, sizeof(struct epollop));
376 free(epollop);