Lines Matching defs:loop
67 int uv__platform_loop_init(uv_loop_t* loop) {
71 loop->fs_fd = -1;
72 loop->backend_fd = -1;
83 loop->backend_fd = fd;
89 void uv__platform_loop_delete(uv_loop_t* loop) {
90 if (loop->fs_fd != -1) {
91 uv__close(loop->fs_fd);
92 loop->fs_fd = -1;
95 if (loop->backend_fd != -1) {
96 uv__close(loop->backend_fd);
97 loop->backend_fd = -1;
102 int uv__io_fork(uv_loop_t* loop) {
104 if (loop->fs_fd != -1) {
106 uv__io_stop(loop, &loop->fs_event_watcher, POLLIN);
109 uv__platform_loop_delete(loop);
110 return uv__platform_loop_init(loop);
114 void uv__platform_invalidate_fd(uv_loop_t* loop, int fd) {
119 assert(loop->watchers != NULL);
122 events = (struct port_event*) loop->watchers[loop->nwatchers];
123 nfds = (uintptr_t) loop->watchers[loop->nwatchers + 1];
134 int uv__io_check_fd(uv_loop_t* loop, int fd) {
135 if (port_associate(loop->backend_fd, PORT_SOURCE_FD, fd, POLLIN, 0))
138 if (port_dissociate(loop->backend_fd, PORT_SOURCE_FD, fd)) {
147 void uv__io_poll(uv_loop_t* loop, int timeout) {
168 if (loop->nfds == 0) {
169 assert(QUEUE_EMPTY(&loop->watcher_queue));
173 while (!QUEUE_EMPTY(&loop->watcher_queue)) {
174 q = QUEUE_HEAD(&loop->watcher_queue);
181 if (port_associate(loop->backend_fd,
194 if (loop->flags & UV_LOOP_BLOCK_SIGPROF) {
201 base = loop->time;
204 if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) {
214 * will return early if the loop isn't configured with UV_METRICS_IDLE_TIME.
217 uv__metrics_set_provider_entry_time(loop);
233 err = port_getn(loop->backend_fd,
254 /* Update loop->time unconditionally. It's tempting to skip the update when
258 SAVE_ERRNO(uv__update_time(loop));
283 assert(loop->watchers != NULL);
284 loop->watchers[loop->nwatchers] = (void*) events;
285 loop->watchers[loop->nwatchers + 1] = (void*) (uintptr_t) nfds;
295 assert((unsigned) fd < loop->nwatchers);
297 w = loop->watchers[fd];
306 if (w == &loop->signal_io_watcher) {
309 uv__metrics_update_idle_time(loop);
310 w->cb(loop, w, pe->portev_events);
315 if (w != loop->watchers[fd])
320 QUEUE_INSERT_TAIL(&loop->watcher_queue, &w->watcher_queue);
329 uv__metrics_update_idle_time(loop);
330 loop->signal_io_watcher.cb(loop, &loop->signal_io_watcher, POLLIN);
333 loop->watchers[loop->nwatchers] = NULL;
334 loop->watchers[loop->nwatchers + 1] = NULL;
337 return; /* Event loop should cycle now so don't poll again. */
362 diff = loop->time - base;
429 if (port_associate(handle->loop->fs_fd,
442 static void uv__fs_event_read(uv_loop_t* loop,
467 r = port_getn(loop->fs_fd, &pe, 1, &n, &timeout);
502 int uv_fs_event_init(uv_loop_t* loop, uv_fs_event_t* handle) {
503 uv__handle_init(loop, (uv_handle_t*)handle, UV_FS_EVENT);
520 if (handle->loop->fs_fd == -1) {
524 handle->loop->fs_fd = portfd;
542 uv__io_init(&handle->loop->fs_event_watcher, uv__fs_event_read, portfd);
543 uv__io_start(handle->loop, &handle->loop->fs_event_watcher, POLLIN);
557 ret = port_dissociate(handle->loop->fs_fd,
592 int uv_fs_event_init(uv_loop_t* loop, uv_fs_event_t* handle) {