• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/ntp/sntp/libevent/

Lines Matching refs:devpollop

56 struct devpollop {
85 devpoll_commit(struct devpollop *devpollop)
91 if (pwrite(devpollop->dpfd, devpollop->changes,
92 sizeof(struct pollfd) * devpollop->nchanges, 0) == -1)
95 devpollop->nchanges = 0;
100 devpoll_queue(struct devpollop *devpollop, int fd, int events) {
103 if (devpollop->nchanges >= devpollop->nevents) {
108 if (devpoll_commit(devpollop) != 0)
112 pfd = &devpollop->changes[devpollop->nchanges++];
125 struct devpollop *devpollop;
127 if (!(devpollop = mm_calloc(1, sizeof(struct devpollop))))
137 mm_free(devpollop);
141 devpollop->dpfd = dpfd;
146 devpollop->events = mm_calloc(nfiles, sizeof(struct pollfd));
147 if (devpollop->events == NULL) {
148 mm_free(devpollop);
152 devpollop->nevents = nfiles;
154 devpollop->changes = mm_calloc(nfiles, sizeof(struct pollfd));
155 if (devpollop->changes == NULL) {
156 mm_free(devpollop->events);
157 mm_free(devpollop);
164 return (devpollop);
170 struct devpollop *devpollop = base->evbase;
171 struct pollfd *events = devpollop->events;
175 if (devpollop->nchanges)
176 devpoll_commit(devpollop);
181 dvp.dp_fds = devpollop->events;
182 dvp.dp_nfds = devpollop->nevents;
187 res = ioctl(devpollop->dpfd, DP_POLL, &dvp);
230 struct devpollop *devpollop = base->evbase;
247 if (devpoll_queue(devpollop, fd, res) != 0)
256 struct devpollop *devpollop = base->evbase;
273 if (devpoll_queue(devpollop, fd, POLLREMOVE) != 0)
284 devpoll_queue(devpollop, fd, POLLOUT);
287 devpoll_queue(devpollop, fd, POLLIN);
297 struct devpollop *devpollop = base->evbase;
300 if (devpollop->events)
301 mm_free(devpollop->events);
302 if (devpollop->changes)
303 mm_free(devpollop->changes);
304 if (devpollop->dpfd >= 0)
305 close(devpollop->dpfd);
307 memset(devpollop, 0, sizeof(struct devpollop));
308 mm_free(devpollop);