Lines Matching refs:w

843   uv__io_t* w;  in uv__run_pending()  local
851 w = uv__queue_data(q, uv__io_t, pending_queue); in uv__run_pending()
852 w->cb(loop, w, POLLOUT); in uv__run_pending()
903 void uv__io_init(uv__io_t* w, uv__io_cb cb, int fd) { in uv__io_init() argument
906 uv__queue_init(&w->pending_queue); in uv__io_init()
907 uv__queue_init(&w->watcher_queue); in uv__io_init()
908 w->cb = cb; in uv__io_init()
909 w->fd = fd; in uv__io_init()
910 w->events = 0; in uv__io_init()
911 w->pevents = 0; in uv__io_init()
915 void uv__io_start(uv_loop_t* loop, uv__io_t* w, unsigned int events) { in uv__io_start() argument
918 assert(w->fd >= 0); in uv__io_start()
919 assert(w->fd < INT_MAX); in uv__io_start()
921 w->pevents |= events; in uv__io_start()
922 maybe_resize(loop, w->fd + 1); in uv__io_start()
929 if (w->events == w->pevents) in uv__io_start()
933 if (uv__queue_empty(&w->watcher_queue)) in uv__io_start()
934 uv__queue_insert_tail(&loop->watcher_queue, &w->watcher_queue); in uv__io_start()
936 if (loop->watchers[w->fd] == NULL) { in uv__io_start()
937 loop->watchers[w->fd] = w; in uv__io_start()
943 void uv__io_stop(uv_loop_t* loop, uv__io_t* w, unsigned int events) { in uv__io_stop() argument
947 if (w->fd == -1) in uv__io_stop()
950 assert(w->fd >= 0); in uv__io_stop()
953 if ((unsigned) w->fd >= loop->nwatchers) in uv__io_stop()
956 w->pevents &= ~events; in uv__io_stop()
958 if (w->pevents == 0) { in uv__io_stop()
959 uv__queue_remove(&w->watcher_queue); in uv__io_stop()
960 uv__queue_init(&w->watcher_queue); in uv__io_stop()
961 w->events = 0; in uv__io_stop()
963 if (w == loop->watchers[w->fd]) { in uv__io_stop()
965 loop->watchers[w->fd] = NULL; in uv__io_stop()
969 else if (uv__queue_empty(&w->watcher_queue)) in uv__io_stop()
970 uv__queue_insert_tail(&loop->watcher_queue, &w->watcher_queue); in uv__io_stop()
974 void uv__io_close(uv_loop_t* loop, uv__io_t* w) { in uv__io_close() argument
975 uv__io_stop(loop, w, POLLIN | POLLOUT | UV__POLLRDHUP | UV__POLLPRI); in uv__io_close()
976 uv__queue_remove(&w->pending_queue); in uv__io_close()
979 if (w->fd != -1) in uv__io_close()
980 uv__platform_invalidate_fd(loop, w->fd); in uv__io_close()
984 void uv__io_feed(uv_loop_t* loop, uv__io_t* w) { in uv__io_feed() argument
985 if (uv__queue_empty(&w->pending_queue)) in uv__io_feed()
986 uv__queue_insert_tail(&loop->pending_queue, &w->pending_queue); in uv__io_feed()
990 int uv__io_active(const uv__io_t* w, unsigned int events) { in uv__io_active() argument
993 return 0 != (w->pevents & events); in uv__io_active()