Lines Matching full:evpd
141 struct evport_data *evpd;
144 if (!(evpd = mm_calloc(1, sizeof(struct evport_data))))
147 if ((evpd->ed_port = port_create()) == -1) {
148 mm_free(evpd);
155 evpd->ed_fds = mm_calloc(DEFAULT_NFDS, sizeof(struct fd_info));
156 if (evpd->ed_fds == NULL) {
157 close(evpd->ed_port);
158 mm_free(evpd);
161 evpd->ed_nevents = DEFAULT_NFDS;
163 evpd->ed_pending[i] = -1;
167 return (evpd);
178 check_evportop(struct evport_data *evpd)
180 EVUTIL_ASSERT(evpd);
181 EVUTIL_ASSERT(evpd->ed_nevents > 0);
182 EVUTIL_ASSERT(evpd->ed_port > 0);
183 EVUTIL_ASSERT(evpd->ed_fds > 0);
377 struct evport_data *evpd = base->evbase;
382 check_evportop(evpd);
389 while (fd >= factor * evpd->ed_nevents)
393 if (-1 == grow(evpd, factor)) {
398 fdi = &evpd->ed_fds[fd];
401 return reassociate(evpd, fdi, fd);
411 struct evport_data *evpd = base->evbase;
417 check_evportop(evpd);
419 if (evpd->ed_nevents < fd) {
424 if (evpd->ed_pending[i] == fd) {
430 fdi = &evpd->ed_fds[fd];
438 port_dissociate(evpd->ed_port, PORT_SOURCE_FD, fd) == -1) {
449 return (reassociate(evpd, fdi, fd));
454 evpd->ed_pending[i] = -1;
464 struct evport_data *evpd = base->evbase;
468 close(evpd->ed_port);
470 if (evpd->ed_fds)
471 mm_free(evpd->ed_fds);
472 mm_free(evpd);