Lines Matching defs:loop

114 int uv__platform_loop_init(uv_loop_t* loop) {
118 loop->ep = ep;
126 void uv__platform_loop_delete(uv_loop_t* loop) {
127 if (loop->ep != NULL) {
128 epoll_queue_close(loop->ep);
129 loop->ep = NULL;
361 /* All conditions above must match count loop */
534 /* All conditions above must match count loop */
587 void uv__platform_invalidate_fd(uv_loop_t* loop, int fd) {
593 assert(loop->watchers != NULL);
596 events = (struct epoll_event*) loop->watchers[loop->nwatchers];
597 nfds = (uintptr_t) loop->watchers[loop->nwatchers + 1];
605 if (loop->ep != NULL)
606 epoll_ctl(loop->ep, EPOLL_CTL_DEL, fd, &dummy);
610 int uv__io_check_fd(uv_loop_t* loop, int fd) {
631 int uv_fs_event_init(uv_loop_t* loop, uv_fs_event_t* handle) {
632 uv__handle_init(loop, (uv_handle_t*)handle, UV_FS_EVENT);
642 ep = handle->loop->ep;
695 ep = handle->loop->ep;
811 void uv__io_poll(uv_loop_t* loop, int timeout) {
831 if (loop->nfds == 0) {
832 assert(uv__queue_empty(&loop->watcher_queue));
836 lfields = uv__get_internal_fields(loop);
838 while (!uv__queue_empty(&loop->watcher_queue)) {
841 q = uv__queue_head(&loop->watcher_queue);
851 assert(w->fd < (int) loop->nwatchers);
864 if (epoll_ctl(loop->ep, op, w->fd, &e)) {
871 if (epoll_ctl(loop->ep, EPOLL_CTL_MOD, w->fd, &e))
879 base = loop->time;
896 * will return early if the loop isn't configured with UV_METRICS_IDLE_TIME.
899 uv__metrics_set_provider_entry_time(loop);
910 nfds = epoll_wait(loop->ep, events,
913 /* Update loop->time unconditionally. It's tempting to skip the update when
917 base = loop->time;
918 SAVE_ERRNO(uv__update_time(loop));
960 assert(loop->watchers != NULL);
961 loop->watchers[loop->nwatchers] = (void*) events;
962 loop->watchers[loop->nwatchers + 1] = (void*) (uintptr_t) nfds;
971 ep = loop->ep;
979 assert((unsigned) fd < loop->nwatchers);
981 w = loop->watchers[fd];
989 epoll_ctl(loop->ep, EPOLL_CTL_DEL, fd, pe);
994 * callbacks when previous callback invocation in this loop has stopped
1007 if (w == &loop->signal_io_watcher) {
1010 uv__metrics_update_idle_time(loop);
1011 w->cb(loop, w, pe->events);
1017 uv__metrics_inc_events(loop, nevents);
1021 uv__metrics_inc_events_waiting(loop, nevents);
1025 uv__metrics_update_idle_time(loop);
1026 loop->signal_io_watcher.cb(loop, &loop->signal_io_watcher, POLLIN);
1029 loop->watchers[loop->nwatchers] = NULL;
1030 loop->watchers[loop->nwatchers + 1] = NULL;
1033 return; /* Event loop should cycle now so don't poll again. */
1053 real_timeout -= (loop->time - base);
1062 int uv__io_fork(uv_loop_t* loop) {
1067 loop->ep = NULL;
1069 return uv__platform_loop_init(loop);