Lines Matching defs:loop

302 int is_uv_loop_good_magic(const uv_loop_t* loop) {
303 if (loop->magic == UV_LOOP_MAGIC) {
306 UV_LOGE("loop:(%{public}zu:%{public}#x) invalid", (size_t)loop, loop->magic);
311 void on_uv_loop_close(uv_loop_t* loop) {
317 loop->magic = ~UV_LOOP_MAGIC;
322 UV_LOGI("loop:(%{public}zu) closed in %{public}zds", (size_t)loop, (ssize_t)(t2 - t1));
340 * never holds the global mutex and the loop-local mutex at the same time.
418 uv_mutex_lock(&w->loop->wq_mutex);
421 uv__queue_insert_tail(&w->loop->wq, &w->wq);
422 uv_async_send(&w->loop->wq_async);
423 uv_mutex_unlock(&w->loop->wq_mutex);
571 void uv__work_submit(uv_loop_t* loop,
577 w->loop = loop;
596 static int uv__work_cancel(uv_loop_t* loop, uv_req_t* req, struct uv__work* w) {
600 if (!is_uv_loop_good_magic(w->loop)) {
607 uv_mutex_lock(&w->loop->wq_mutex);
613 uv_mutex_unlock(&w->loop->wq_mutex);
616 uv_mutex_lock(&w->loop->wq_mutex);
619 uv_mutex_unlock(&w->loop->wq_mutex);
628 uv_mutex_lock(&loop->wq_mutex);
630 uv__queue_insert_tail(&loop->wq, &w->wq);
631 uv_async_send(&loop->wq_async);
633 uv__loop_internal_fields_t* lfields = uv__get_internal_fields(w->loop);
636 if (uv_check_data_valid((struct uv_loop_data*)(w->loop->data)) == 0) {
638 struct uv_loop_data* addr = (struct uv_loop_data*)((uint64_t)w->loop->data -
643 uv_async_send(&loop->wq_async);
646 uv_mutex_unlock(&loop->wq_mutex);
655 uv_loop_t* loop;
661 loop = container_of(handle, uv_loop_t, wq_async);
663 if (!is_uv_loop_good_magic(loop)) {
669 uv_mutex_lock(&loop->wq_mutex);
671 uv__queue_move(&loop->wq, &wq);
673 uv__loop_internal_fields_t* lfields = uv__get_internal_fields(loop);
682 uv_mutex_unlock(&loop->wq_mutex);
719 * as an event. Which will have been added by the event loop when
725 uv__metrics_inc_events(loop, nevents - 1);
726 if (uv__get_internal_fields(loop)->current_timeout == 0)
727 uv__metrics_inc_events_waiting(loop, nevents - 1);
748 uv__req_unregister(req->loop, req);
761 uv_loop_t* loop = w->loop;
774 if (loop->magic != UV_LOOP_MAGIC) {
777 (size_t)loop, loop->magic, req->work_cb, req->after_work_cb);
781 uv_mutex_lock(&loop->wq_mutex);
784 if (uv_check_data_valid((struct uv_loop_data*)(loop->data)) == 0) {
786 struct uv_loop_data* addr = (struct uv_loop_data*)((uint64_t)loop->data -
790 uv__loop_internal_fields_t* lfields = uv__get_internal_fields(loop);
792 uv_async_send(&loop->wq_async);
794 uv_mutex_unlock(&loop->wq_mutex);
810 void uv__work_submit(uv_loop_t* loop,
837 w->loop = loop;
848 void uv__work_submit_with_qos(uv_loop_t* loop,
859 w->loop = loop;
870 int uv_queue_work(uv_loop_t* loop,
877 uv__req_init(loop, req, UV_WORK);
878 req->loop = loop;
896 uv__work_submit(loop,
912 int uv_queue_work_with_qos(uv_loop_t* loop,
929 uv__req_init(loop, req, UV_WORK);
930 req->loop = loop;
944 uv__work_submit_with_qos(loop,
955 return uv_queue_work(loop, req, work_cb, after_work_cb);
962 uv_loop_t* loop;
966 loop = ((uv_fs_t*) req)->loop;
970 loop = ((uv_getaddrinfo_t*) req)->loop;
974 loop = ((uv_getnameinfo_t*) req)->loop;
978 loop = ((uv_random_t*) req)->loop;
982 loop = ((uv_work_t*) req)->loop;
989 return uv__work_cancel(loop, req, wreq);