• Home
  • Raw
  • Download

Lines Matching refs:loop

30 int uv_loop_init(uv_loop_t* loop) {  in uv_loop_init()  argument
36 saved_data = loop->data; in uv_loop_init()
37 memset(loop, 0, sizeof(*loop)); in uv_loop_init()
38 loop->data = saved_data; in uv_loop_init()
43 loop->internal_fields = lfields; in uv_loop_init()
49 heap_init((struct heap*) &loop->timer_heap); in uv_loop_init()
50 QUEUE_INIT(&loop->wq); in uv_loop_init()
52 uv__loop_internal_fields_t* lfields_qos = uv__get_internal_fields(loop); in uv_loop_init()
58 QUEUE_INIT(&loop->idle_handles); in uv_loop_init()
59 QUEUE_INIT(&loop->async_handles); in uv_loop_init()
60 QUEUE_INIT(&loop->check_handles); in uv_loop_init()
61 QUEUE_INIT(&loop->prepare_handles); in uv_loop_init()
62 QUEUE_INIT(&loop->handle_queue); in uv_loop_init()
64 loop->active_handles = 0; in uv_loop_init()
65 loop->active_reqs.count = 0; in uv_loop_init()
66 loop->nfds = 0; in uv_loop_init()
67 loop->watchers = NULL; in uv_loop_init()
68 loop->nwatchers = 0; in uv_loop_init()
69 QUEUE_INIT(&loop->pending_queue); in uv_loop_init()
70 QUEUE_INIT(&loop->watcher_queue); in uv_loop_init()
72 loop->closing_handles = NULL; in uv_loop_init()
73 uv__update_time(loop); in uv_loop_init()
74 loop->async_io_watcher.fd = -1; in uv_loop_init()
75 loop->async_wfd = -1; in uv_loop_init()
76 loop->signal_pipefd[0] = -1; in uv_loop_init()
77 loop->signal_pipefd[1] = -1; in uv_loop_init()
78 loop->backend_fd = -1; in uv_loop_init()
79 loop->emfile_fd = -1; in uv_loop_init()
81 loop->timer_counter = 0; in uv_loop_init()
82 loop->stop_flag = 0; in uv_loop_init()
84 err = uv__platform_loop_init(loop); in uv_loop_init()
89 err = uv_signal_init(loop, &loop->child_watcher); in uv_loop_init()
93 uv__handle_unref(&loop->child_watcher); in uv_loop_init()
94 loop->child_watcher.flags |= UV_HANDLE_INTERNAL; in uv_loop_init()
95 QUEUE_INIT(&loop->process_handles); in uv_loop_init()
97 err = uv_rwlock_init(&loop->cloexec_lock); in uv_loop_init()
101 err = uv_mutex_init(&loop->wq_mutex); in uv_loop_init()
105 err = uv_async_init(loop, &loop->wq_async, uv__work_done); in uv_loop_init()
109 uv__handle_unref(&loop->wq_async); in uv_loop_init()
110 loop->wq_async.flags |= UV_HANDLE_INTERNAL; in uv_loop_init()
115 uv_mutex_destroy(&loop->wq_mutex); in uv_loop_init()
118 uv_rwlock_destroy(&loop->cloexec_lock); in uv_loop_init()
121 uv__signal_loop_cleanup(loop); in uv_loop_init()
124 uv__platform_loop_delete(loop); in uv_loop_init()
131 loop->internal_fields = NULL; in uv_loop_init()
133 uv__free(loop->watchers); in uv_loop_init()
134 loop->nwatchers = 0; in uv_loop_init()
139 int uv_loop_fork(uv_loop_t* loop) { in uv_loop_fork() argument
144 err = uv__io_fork(loop); in uv_loop_fork()
148 err = uv__async_fork(loop); in uv_loop_fork()
152 err = uv__signal_loop_fork(loop); in uv_loop_fork()
157 for (i = 0; i < loop->nwatchers; i++) { in uv_loop_fork()
158 w = loop->watchers[i]; in uv_loop_fork()
164 QUEUE_INSERT_TAIL(&loop->watcher_queue, &w->watcher_queue); in uv_loop_fork()
172 void uv__loop_close(uv_loop_t* loop) { in uv__loop_close() argument
175 uv__signal_loop_cleanup(loop); in uv__loop_close()
176 uv__platform_loop_delete(loop); in uv__loop_close()
177 uv__async_stop(loop); in uv__loop_close()
179 if (loop->emfile_fd != -1) { in uv__loop_close()
180 uv__close(loop->emfile_fd); in uv__loop_close()
181 loop->emfile_fd = -1; in uv__loop_close()
184 if (loop->backend_fd != -1) { in uv__loop_close()
185 uv__close(loop->backend_fd); in uv__loop_close()
186 loop->backend_fd = -1; in uv__loop_close()
189 uv_mutex_lock(&loop->wq_mutex); in uv__loop_close()
191 assert(QUEUE_EMPTY(&loop->wq) && "thread pool work queue not empty!"); in uv__loop_close()
193 uv__loop_internal_fields_t* lfields_qos = uv__get_internal_fields(loop); in uv__loop_close()
199 assert(!uv__has_active_reqs(loop)); in uv__loop_close()
200 uv_mutex_unlock(&loop->wq_mutex); in uv__loop_close()
201 uv_mutex_destroy(&loop->wq_mutex); in uv__loop_close()
207 uv_rwlock_destroy(&loop->cloexec_lock); in uv__loop_close()
210 assert(QUEUE_EMPTY(&loop->pending_queue)); in uv__loop_close()
211 assert(QUEUE_EMPTY(&loop->watcher_queue)); in uv__loop_close()
212 assert(loop->nfds == 0); in uv__loop_close()
215 uv__free(loop->watchers); in uv__loop_close()
216 loop->watchers = NULL; in uv__loop_close()
217 loop->nwatchers = 0; in uv__loop_close()
219 lfields = uv__get_internal_fields(loop); in uv__loop_close()
222 loop->internal_fields = NULL; in uv__loop_close()
226 int uv__loop_configure(uv_loop_t* loop, uv_loop_option option, va_list ap) { in uv__loop_configure() argument
229 lfields = uv__get_internal_fields(loop); in uv__loop_configure()
241 loop->flags |= UV_LOOP_BLOCK_SIGPROF; in uv__loop_configure()