• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/apr-32/apr/apr/poll/unix/

Lines Matching refs:pollset

65     struct epoll_event *pollset;
80 static apr_status_t impl_pollset_cleanup(apr_pollset_t *pollset)
82 close(pollset->p->epoll_fd);
87 static apr_status_t impl_pollset_create(apr_pollset_t *pollset,
101 pollset->p = NULL;
118 pollset->p = apr_palloc(p, sizeof(apr_pollset_private_t));
122 ((rv = apr_thread_mutex_create(&pollset->p->ring_lock,
125 pollset->p = NULL;
130 pollset->p = NULL;
134 pollset->p->epoll_fd = fd;
135 pollset->p->pollset = apr_palloc(p, size * sizeof(struct epoll_event));
136 pollset->p->result_set = apr_palloc(p, size * sizeof(apr_pollfd_t));
139 APR_RING_INIT(&pollset->p->query_ring, pfd_elem_t, link);
140 APR_RING_INIT(&pollset->p->free_ring, pfd_elem_t, link);
141 APR_RING_INIT(&pollset->p->dead_ring, pfd_elem_t, link);
146 static apr_status_t impl_pollset_add(apr_pollset_t *pollset,
156 if (pollset->flags & APR_POLLSET_NOCOPY) {
162 if (!APR_RING_EMPTY(&(pollset->p->free_ring), pfd_elem_t, link)) {
163 elem = APR_RING_FIRST(&(pollset->p->free_ring));
167 elem = (pfd_elem_t *) apr_palloc(pollset->pool, sizeof(pfd_elem_t));
174 ret = epoll_ctl(pollset->p->epoll_fd, EPOLL_CTL_ADD,
178 ret = epoll_ctl(pollset->p->epoll_fd, EPOLL_CTL_ADD,
186 if (!(pollset->flags & APR_POLLSET_NOCOPY)) {
188 APR_RING_INSERT_TAIL(&(pollset->p->free_ring), elem, pfd_elem_t, link);
191 APR_RING_INSERT_TAIL(&(pollset->p->query_ring), elem, pfd_elem_t, link);
199 static apr_status_t impl_pollset_remove(apr_pollset_t *pollset,
210 ret = epoll_ctl(pollset->p->epoll_fd, EPOLL_CTL_DEL,
214 ret = epoll_ctl(pollset->p->epoll_fd, EPOLL_CTL_DEL,
221 if (!(pollset->flags & APR_POLLSET_NOCOPY)) {
224 for (ep = APR_RING_FIRST(&(pollset->p->query_ring));
225 ep != APR_RING_SENTINEL(&(pollset->p->query_ring),
231 APR_RING_INSERT_TAIL(&(pollset->p->dead_ring),
243 static apr_status_t impl_pollset_poll(apr_pollset_t *pollset,
256 ret = epoll_wait(pollset->p->epoll_fd, pollset->p->pollset, pollset->nalloc,
268 if (pollset->flags & APR_POLLSET_NOCOPY) {
269 fdptr = (apr_pollfd_t *)(pollset->p->pollset[i].data.ptr);
272 fdptr = &(((pfd_elem_t *) (pollset->p->pollset[i].data.ptr))->pfd);
277 if ((pollset->flags & APR_POLLSET_WAKEABLE) &&
279 fdptr->desc.f == pollset->wakeup_pipe[0]) {
280 apr_pollset_drain_wakeup_pipe(pollset);
284 pollset->p->result_set[j] = *fdptr;
285 pollset->p->result_set[j].rtnevents =
286 get_epoll_revent(pollset->p->pollset[i].events);
294 *descriptors = pollset->p->result_set;
299 if (!(pollset->flags & APR_POLLSET_NOCOPY)) {
303 APR_RING_CONCAT(&(pollset->p->free_ring), &(pollset->p->dead_ring), pfd_elem_t, link);
360 pollcb->pollset.epoll = apr_palloc(p, size * sizeof(struct epoll_event));
429 ret = epoll_wait(pollcb->fd, pollcb->pollset.epoll, pollcb->nalloc,
439 apr_pollfd_t *pollfd = (apr_pollfd_t *)(pollcb->pollset.epoll[i].data.ptr);
440 pollfd->rtnevents = get_epoll_revent(pollcb->pollset.epoll[i].events);