Lines Matching defs:loop
55 * never holds the global mutex and the loop-local mutex at the same time.
124 uv_mutex_lock(&w->loop->wq_mutex);
127 QUEUE_INSERT_TAIL(&w->loop->wq, &w->wq);
128 uv_async_send(&w->loop->wq_async);
129 uv_mutex_unlock(&w->loop->wq_mutex);
261 void uv__work_submit(uv_loop_t* loop,
267 w->loop = loop;
274 static int uv__work_cancel(uv_loop_t* loop, uv_req_t* req, struct uv__work* w) {
278 uv_mutex_lock(&w->loop->wq_mutex);
284 uv_mutex_unlock(&w->loop->wq_mutex);
291 uv_mutex_lock(&loop->wq_mutex);
292 QUEUE_INSERT_TAIL(&loop->wq, &w->wq);
293 uv_async_send(&loop->wq_async);
294 uv_mutex_unlock(&loop->wq_mutex);
302 uv_loop_t* loop;
307 loop = container_of(handle, uv_loop_t, wq_async);
308 uv_mutex_lock(&loop->wq_mutex);
309 QUEUE_MOVE(&loop->wq, &wq);
310 uv_mutex_unlock(&loop->wq_mutex);
334 uv__req_unregister(req->loop, req);
343 int uv_queue_work(uv_loop_t* loop,
350 uv__req_init(loop, req, UV_WORK);
351 req->loop = loop;
354 uv__work_submit(loop,
365 uv_loop_t* loop;
369 loop = ((uv_fs_t*) req)->loop;
373 loop = ((uv_getaddrinfo_t*) req)->loop;
377 loop = ((uv_getnameinfo_t*) req)->loop;
381 loop = ((uv_random_t*) req)->loop;
385 loop = ((uv_work_t*) req)->loop;
392 return uv__work_cancel(loop, req, wreq);