diff --git a/src/threadpool.c b/src/threadpool.c index 4a6d783651fe52ee568728c2abb18f2c2652e0af..69f813d2e73acd62973fb5e2c0e144acb1cc1c3f 100644 --- a/src/threadpool.c +++ b/src/threadpool.c @@ -453,7 +453,6 @@ static int uv__work_cancel(uv_loop_t* loop, uv_req_t* req, struct uv__work* w) { cancelled = !uv__queue_empty(&w->wq) && w->work != NULL && ffrt_executor_task_cancel(w, (ffrt_qos_t)(intptr_t)req->reserved[FFRT_QOS]); } - uv_mutex_unlock(&w->loop->wq_mutex); #endif diff --git a/src/unix/loop.c b/src/unix/loop.c index e841f88afc96cc4d9fa6d228179baa2fdeff0822..437bc5c9e779bbfb9abf50797891133f1d5e04ca 100644 --- a/src/unix/loop.c +++ b/src/unix/loop.c @@ -42,6 +42,7 @@ int uv_loop_init(uv_loop_t* loop) { if (lfields == NULL) return UV_ENOMEM; loop->internal_fields = lfields; + err = uv_mutex_init(&lfields->loop_metrics.lock); if (err) goto fail_metrics_mutex_init; diff --git a/src/unix/signal.c b/src/unix/signal.c index 3fe8bc6ec67e06ffd469bbff0be68ad992813453..c633d4210c3d8f5b942b16970cc68be13429399a 100644 --- a/src/unix/signal.c +++ b/src/unix/signal.c @@ -460,6 +460,7 @@ static int uv__signal_start(uv_signal_t* handle, } + #ifdef USE_FFRT static void uv__get_process_name(char* processName, int bufferLength) { int fd = open("/proc/self/cmdline", O_RDONLY); @@ -496,7 +497,7 @@ static int isAddressValid(void* address) { struct iovec remote_iov = {.iov_base = address, .iov_len = sizeof(buffer)}; ssize_t bytes_read = process_vm_readv(getpid(), &local_iov, 1, &remote_iov, 1, 0); - if (bytes_read == - 1) { + if (bytes_read == -1) { return -1; } return 0; @@ -515,9 +516,11 @@ static void uv__signal_event(uv_loop_t* loop, bytes = 0; end = 0; + #ifdef USE_FFRT unsigned int trigger = uv__get_signal_flag(); #endif + do { r = read(loop->signal_pipefd[0], buf + bytes, sizeof(buf) - bytes); diff --git a/src/uv-common.h b/src/uv-common.h index 7319cac6e11285225a42868ec9c274471729faf4..a3a9d27ca68cd85bd9417c95041edd253b12d979 100644 --- a/src/uv-common.h +++ b/src/uv-common.h @@ -464,13 +464,6 @@ struct uv__loop_internal_fields_s { uint64_t uv__get_addr_tag(void* addr); -#if defined(USE_OHOS_DFX) && defined(__aarch64__) -int uv__is_multi_thread_open(void); -void uv__init_thread_id(uv_loop_t* loop); -void uv__set_thread_id(uv_loop_t* loop); -void uv__multi_thread_check_unify(const uv_loop_t* loop, const char* funcName); -#endif - #ifdef USE_FFRT #define SPLIT_CHAR_FIRST ':' #define SPLIT_CHAR_SECOND '#' @@ -478,4 +471,11 @@ void uv__multi_thread_check_unify(const uv_loop_t* loop, const char* funcName); void uv__work_submit_to_eventloop(uv_req_t* req, struct uv__work* w, int qos); int uv__copy_taskname(uv_req_t* req, const char* task_name); #endif + +#if defined(USE_OHOS_DFX) && defined(__aarch64__) +int uv__is_multi_thread_open(void); +void uv__init_thread_id(uv_loop_t* loop); +void uv__set_thread_id(uv_loop_t* loop); +void uv__multi_thread_check_unify(const uv_loop_t* loop, const char* funcName); +#endif #endif /* UV_COMMON_H_ */