diff --git a/interfaces/kits/accesstoken/napi/include/napi_atmanager.h b/interfaces/kits/accesstoken/napi/include/napi_atmanager.h index 3fee43806253cab76c5cefd05943e9037f532000..850a702fc686fd192aa4b033ca84952340c9f618 100644 --- a/interfaces/kits/accesstoken/napi/include/napi_atmanager.h +++ b/interfaces/kits/accesstoken/napi/include/napi_atmanager.h @@ -34,6 +34,7 @@ namespace AccessToken { #define ACCESSTOKEN_PERMISSION_REVOKE_SUCC 0 #define VALUE_BUFFER_SIZE 128 +static thread_local napi_ref atManagerRef_; const std::string ATMANAGER_CLASS_NAME = "atManager"; struct AtManagerAsyncContext { @@ -74,8 +75,6 @@ private: static void RevokeUserGrantedPermissionComplete(napi_env env, napi_status status, void *data); static void GetPermissionFlagsExcute(napi_env env, void *data); static void GetPermissionFlagsComplete(napi_env env, napi_status status, void *data); - - static napi_ref constructorRef_; }; } // namespace AccessToken } // namespace Security diff --git a/interfaces/kits/accesstoken/napi/src/napi_atmanager.cpp b/interfaces/kits/accesstoken/napi/src/napi_atmanager.cpp index 4dc7532addaff58bebba83db8e07e7b764933bdb..608b3df63b035f29062906871cc8e133942de30d 100644 --- a/interfaces/kits/accesstoken/napi/src/napi_atmanager.cpp +++ b/interfaces/kits/accesstoken/napi/src/napi_atmanager.cpp @@ -33,8 +33,6 @@ static constexpr OHOS::HiviewDFX::HiLogLabel LABEL = { }; } // namespace -napi_ref NapiAtManager::constructorRef_; - napi_value NapiAtManager::Init(napi_env env, napi_value exports) { ACCESSTOKEN_LOG_DEBUG(LABEL, "enter init."); @@ -55,7 +53,7 @@ napi_value NapiAtManager::Init(napi_env env, napi_value exports) NAPI_CALL(env, napi_define_class(env, ATMANAGER_CLASS_NAME.c_str(), ATMANAGER_CLASS_NAME.size(), JsConstructor, nullptr, sizeof(properties) / sizeof(napi_property_descriptor), properties, &cons)); - NAPI_CALL(env, napi_create_reference(env, cons, 1, &constructorRef_)); + NAPI_CALL(env, napi_create_reference(env, cons, 1, &atManagerRef_)); NAPI_CALL(env, napi_set_named_property(env, exports, ATMANAGER_CLASS_NAME.c_str(), cons)); return exports; @@ -79,11 +77,11 @@ napi_value NapiAtManager::CreateAtManager(napi_env env, napi_callback_info cbInf napi_value instance = nullptr; napi_value cons = nullptr; - if (napi_get_reference_value(env, constructorRef_, &cons) != napi_ok) { + if (napi_get_reference_value(env, atManagerRef_, &cons) != napi_ok) { return nullptr; } - ACCESSTOKEN_LOG_DEBUG(LABEL, "Get a reference to the global variable constructorRef_ complete"); + ACCESSTOKEN_LOG_DEBUG(LABEL, "Get a reference to the global variable atManagerRef_ complete"); if (napi_new_instance(env, cons, 0, nullptr, &instance) != napi_ok) { return nullptr;