Lines Matching full:poll
56 static dp_entry_t **devpolltbl; /* dev poll entries */
60 int devpoll_init; /* is /dev/poll initialized already */
86 dppoll, /* poll */
117 "/dev/poll driver",
136 * The /dev/poll driver shares most of its code with poll sys call whose
137 * code is in common/syscall/poll.c. In poll(2) design, the pollcache
140 * poll(2) design, no lwp will ever need to grow bitmap of other lwp.
141 * This assumption is not true for /dev/poll; hence the need for extra
144 * To allow more parallelism, each /dev/poll file descriptor (indexed by
147 * /dev/poll fd. However, we prevent writes from being starved by giving
151 * content of poll fd a cache set. If writes happens so often that they
196 if (ddi_create_minor_node(devi, "poll", S_IFCHR, 0, DDI_PSEUDO, 0) in dpattach()
237 * dp_pcache_poll has similar logic to pcache_poll() in poll.c. The major
238 * differences are: (1) /dev/poll requires scanning the bitmap starting at
244 * NOTE: Upon closing an fd, automatic poll cache cleanup is done for
245 * poll(2) caches but NOT for /dev/poll caches. So expect some
261 /* No Need to search because no poll fd has been cached. */ in dp_pcache_poll()
347 * is consistent with poll(2) polling a in dp_pcache_poll()
398 * Regular /dev/poll is unbothered in dp_pcache_poll()
424 * poll routine to change. May want to revisit in dp_pcache_poll()
496 * which poll and epoll representations in dp_pcache_poll()
591 * We clear a bit or cache a poll fd if in dp_pcache_poll()
592 * the driver returns a poll head ptr, in dp_pcache_poll()
683 * dpwrite() or attempt to poll on the instance, allowing parents in dpopen()
684 * to create instances of /dev/poll for their children. (In the in dpopen()
701 * Write to dev/poll add/remove fd's to/from a cached poll fd set,
702 * or change poll events for a watched fd.
789 * Although /dev/poll uses the write(2) interface to cache fds, it's in dpwrite()
834 * Non-epoll writers to /dev/poll handles can tolerate EINTR. in dpwrite()
859 * Since the dpwrite() may recursively walk an added /dev/poll handle, in dpwrite()
973 * with same poll events. in dpwrite()
987 * do VOP_POLL and cache this poll fd. in dpwrite()
997 * poll routine to change. May want to revisit in dpwrite()
1032 * this forces the first DP_POLL to poll this fd. in dpwrite()
1083 * /dev/poll handles. To ensure that proper event propagation occurs, in dpwrite()
1368 * marked as valid during the poll. in dpioctl()
1399 * break the loop, else poll again. in dpioctl()
1441 * No Need to search because no poll fd in dpioctl()
1478 * It is possible for /dev/poll to poll for events on file descriptors which
1479 * themselves are /dev/poll handles. Pending events in the child handle are
1481 * this recursion is presently allowed on only /dev/poll handles which have
1487 * The recursive /dev/poll implementation begins by extending dppoll() to
1494 * which corresponds to the child /dev/poll fd. This means that child
1495 * pollcaches will be checked during every poll which facilitates wake-up
1500 * Recursive /dev/poll avoids complicated pollcache locking constraints during
1503 * /dev/poll "tree", pcachelink_t structures are established to all child
1504 * /dev/poll pollcaches. During pollnotify() in a child pollcache, the
1509 * still allows the woken poll on the parent to discover the pertinent events
1518 * to the end if no match (and therefore loop) is found. Once poll operations
1525 * Descending through a tree of recursive /dev/poll handles involves the tricky
1529 * pollstate_exit() functions provide an interface for recursive /dev/poll
1554 /* Poll recursion is not yet supported for non-epoll handles */ in dppoll()
1617 * reference of this /dev/poll fd can close.
1641 * /dev/poll fd. This pollcache is going away, so do the clean in dpclose()
1661 /* Clean up any pollcache links created via recursive /dev/poll */ in dpclose()