Lines Matching defs:loop
48 static void uv__signal_event(uv_loop_t* loop, uv__io_t* w, unsigned int events);
172 lookup.loop = NULL;
209 r = write(handle->loop->signal_pipefd[1], &msg, sizeof msg);
261 static int uv__signal_loop_once_init(uv_loop_t* loop) {
265 if (loop->signal_pipefd[0] != -1)
268 err = uv__make_pipe(loop->signal_pipefd, UV_NONBLOCK_PIPE);
272 uv__io_init(&loop->signal_io_watcher,
274 loop->signal_pipefd[0]);
275 uv__io_start(loop, &loop->signal_io_watcher, POLLIN);
281 int uv__signal_loop_fork(uv_loop_t* loop) {
282 uv__io_stop(loop, &loop->signal_io_watcher, POLLIN);
283 uv__close(loop->signal_pipefd[0]);
284 uv__close(loop->signal_pipefd[1]);
285 loop->signal_pipefd[0] = -1;
286 loop->signal_pipefd[1] = -1;
287 return uv__signal_loop_once_init(loop);
291 void uv__signal_loop_cleanup(uv_loop_t* loop) {
294 /* Stop all the signal watchers that are still attached to this loop. This
300 QUEUE_FOREACH(q, &loop->handle_queue) {
307 if (loop->signal_pipefd[0] != -1) {
308 uv__close(loop->signal_pipefd[0]);
309 loop->signal_pipefd[0] = -1;
312 if (loop->signal_pipefd[1] != -1) {
313 uv__close(loop->signal_pipefd[1]);
314 loop->signal_pipefd[1] = -1;
319 int uv_signal_init(uv_loop_t* loop, uv_signal_t* handle) {
322 err = uv__signal_loop_once_init(loop);
326 uv__handle_init(loop, (uv_handle_t*) handle, UV_SIGNAL);
416 static void uv__signal_event(uv_loop_t* loop,
429 r = read(loop->signal_pipefd[0], buf + bytes, sizeof(buf) - bytes);
500 /* Sort by loop pointer, so we can easily look up the first item after
501 * { .signum = x, .loop = NULL }.
503 if (w1->loop < w2->loop) return -1;
504 if (w1->loop > w2->loop) return 1;