diff --git a/frameworks/js/napi/user_auth/src/user_auth_callback_v10.cpp b/frameworks/js/napi/user_auth/src/user_auth_callback_v10.cpp index eeef9dc903436b92091be93a8a918c79e22aed3b..8a66a823d1d68e4b373852b8a84a373c239027de 100644 --- a/frameworks/js/napi/user_auth/src/user_auth_callback_v10.cpp +++ b/frameworks/js/napi/user_auth/src/user_auth_callback_v10.cpp @@ -219,6 +219,7 @@ void UserAuthCallbackV10::OnAcquireInfo(int32_t module, uint32_t acquireInfo, authTipInfoCallbackHolder->tipCode); if (ret != napi_ok) { IAM_LOGE("DoTipInfoCallBack ret = %{public}d", ret); + napi_close_handle_scope(authTipInfoCallbackHolder->env, scope); return; } napi_close_handle_scope(authTipInfoCallbackHolder->env, scope); diff --git a/services/base/src/thread_handler_impl.cpp b/services/base/src/thread_handler_impl.cpp index c9a7d8d2d65329dd179d980fe333d54434297c16..0de409d8823644a3c4bbbdef3b0b36fecefcf02d 100644 --- a/services/base/src/thread_handler_impl.cpp +++ b/services/base/src/thread_handler_impl.cpp @@ -20,9 +20,11 @@ #include #include "nocopyable.h" -#include "thread_handler_manager.h" +#include "iam_ptr.h" #include "iam_logger.h" +#include "thread_handler_manager.h" +#include "xcollie_helper.h" #define LOG_TAG "USER_AUTH_SA" @@ -30,6 +32,7 @@ namespace OHOS { namespace UserIam { namespace UserAuth { using namespace OHOS; +using namespace OHOS::UserIam::Common; ThreadHandlerImpl::ThreadHandlerImpl(std::string name, bool canSuspend) : pool_(name), canSuspend_(canSuspend) { pool_.Start(1); @@ -48,6 +51,12 @@ void ThreadHandlerImpl::PostTask(const Task &task) return; } pool_.AddTask(task); + + constexpr uint32_t TASK_BLOCK_MONITOR_TIMEOUT = 20; + auto taskBlockMonitor = MakeShared("taskBlockMonitor", TASK_BLOCK_MONITOR_TIMEOUT); + pool_.AddTask([taskBlockMonitor] { + (void)taskBlockMonitor; + }); } void ThreadHandlerImpl::EnsureTask(const Task &task) diff --git a/services/base/src/thread_handler_singleton_impl.cpp b/services/base/src/thread_handler_singleton_impl.cpp index c89505de58264a014cb14516884f3cc65af36718..406c91c5d6b83868dafb12d353047ec49214380f 100644 --- a/services/base/src/thread_handler_singleton_impl.cpp +++ b/services/base/src/thread_handler_singleton_impl.cpp @@ -20,10 +20,12 @@ #include #include "nocopyable.h" -#include "relative_timer.h" -#include "thread_handler_manager.h" +#include "iam_ptr.h" #include "iam_logger.h" +#include "relative_timer.h" +#include "thread_handler_manager.h" +#include "xcollie_helper.h" #define LOG_TAG "USER_AUTH_SA" @@ -31,9 +33,18 @@ namespace OHOS { namespace UserIam { namespace UserAuth { using namespace OHOS; +using namespace OHOS::UserIam::Common; void ThreadHandlerSingletonImpl::PostTask(const Task &task) { RelativeTimer::GetInstance().Register(task, 0); + + constexpr uint32_t TASK_BLOCK_MONITOR_TIMEOUT = 20; + auto taskBlockMonitor = MakeShared("taskBlockMonitor", TASK_BLOCK_MONITOR_TIMEOUT); + RelativeTimer::GetInstance().Register( + [taskBlockMonitor] { + (void)taskBlockMonitor; + }, + 0); } void ThreadHandlerSingletonImpl::EnsureTask(const Task &task)