diff --git a/frameworks/jskitsimpl/distributeddata/include/kv_manager.h b/frameworks/jskitsimpl/distributeddata/include/kv_manager.h index be8751a1b37e2990f364a61676e89e6e0bccd51c..90bd20c578f590baa725956844193b56cd5dd84e 100644 --- a/frameworks/jskitsimpl/distributeddata/include/kv_manager.h +++ b/frameworks/jskitsimpl/distributeddata/include/kv_manager.h @@ -31,7 +31,6 @@ private: DistributedKv::DistributedKvDataManager kvDataManager_ {}; std::string bundleName_ {}; - static napi_ref ctor_; }; } #endif // OHOS_KV_MANAGER_H diff --git a/frameworks/jskitsimpl/distributeddata/include/single_kv_store.h b/frameworks/jskitsimpl/distributeddata/include/single_kv_store.h index dd9942fdfe6063cd357613855d0186b415b3c877..9b3123791a58113d5ca2dad1f0680ae86b544ed2 100644 --- a/frameworks/jskitsimpl/distributeddata/include/single_kv_store.h +++ b/frameworks/jskitsimpl/distributeddata/include/single_kv_store.h @@ -73,7 +73,6 @@ private: static napi_status OnDataChange(napi_env env, size_t argc, napi_value *argv, napi_value self, napi_value *result); static napi_status OnSyncComplete(napi_env env, size_t argc, napi_value *argv, napi_value self, napi_value *result); static std::map eventHandlers_; - static napi_ref ctor_; std::unique_ptr kvStore_ = nullptr; std::shared_ptr syncObserver_ = nullptr; diff --git a/frameworks/jskitsimpl/distributeddata/src/kv_manager.cpp b/frameworks/jskitsimpl/distributeddata/src/kv_manager.cpp index a0e35405f981f9d3a70f376727daf8e0ad49bb9f..949a68adc410d17b4c4edc36f60c8447b1dbbd27 100644 --- a/frameworks/jskitsimpl/distributeddata/src/kv_manager.cpp +++ b/frameworks/jskitsimpl/distributeddata/src/kv_manager.cpp @@ -24,7 +24,7 @@ using namespace OHOS::DistributedKv; namespace OHOS::DistributedData { -napi_ref KVManager::ctor_ = nullptr; +static __thread napi_ref g_ctor = nullptr; napi_value KVManager::CreateKVManager(napi_env env, napi_callback_info info) { ZLOGD("get kv manager!"); @@ -116,8 +116,8 @@ napi_value KVManager::GetKVStore(napi_env env, napi_callback_info info) napi_value KVManager::GetCtor(napi_env env) { napi_value cons; - if (ctor_ != nullptr) { - NAPI_CALL(env, napi_get_reference_value(env, ctor_, &cons)); + if (g_ctor != nullptr) { + NAPI_CALL(env, napi_get_reference_value(env, g_ctor, &cons)); return cons; } @@ -126,7 +126,7 @@ napi_value KVManager::GetCtor(napi_env env) }; NAPI_CALL(env, napi_define_class(env, "KVManager", NAPI_AUTO_LENGTH, Initialize, nullptr, sizeof(clzDes) / sizeof(napi_property_descriptor), clzDes, &cons)); - NAPI_CALL(env, napi_create_reference(env, cons, 1, &ctor_)); + NAPI_CALL(env, napi_create_reference(env, cons, 1, &g_ctor)); return cons; } diff --git a/frameworks/jskitsimpl/distributeddata/src/single_kv_store.cpp b/frameworks/jskitsimpl/distributeddata/src/single_kv_store.cpp index c91d54153d9fe67535f283f024da19bcd5f3c0a5..196dc4d655a31d15f865c3d22895fe1c6b60dedc 100644 --- a/frameworks/jskitsimpl/distributeddata/src/single_kv_store.cpp +++ b/frameworks/jskitsimpl/distributeddata/src/single_kv_store.cpp @@ -25,7 +25,7 @@ using namespace OHOS::DistributedKv; namespace OHOS::DistributedData { -napi_ref SingleKVStore::ctor_ = nullptr; +static __thread napi_ref g_ctor = nullptr; std::map SingleKVStore::eventHandlers_ = { {"dataChange", SingleKVStore::OnDataChange}, {"syncComplete", SingleKVStore::OnSyncComplete}, @@ -51,9 +51,9 @@ SingleKVStore::~SingleKVStore() napi_value SingleKVStore::GetCtor(napi_env env) { - if (ctor_ != nullptr) { + if (g_ctor != nullptr) { napi_value cons = nullptr; - NAPI_CALL(env, napi_get_reference_value(env, ctor_, &cons)); + NAPI_CALL(env, napi_get_reference_value(env, g_ctor, &cons)); return cons; } @@ -67,7 +67,7 @@ napi_value SingleKVStore::GetCtor(napi_env env) napi_value cons; NAPI_CALL(env, napi_define_class(env, "SingleKVStore", NAPI_AUTO_LENGTH, Initialize, nullptr, sizeof(clzDes) / sizeof(napi_property_descriptor), clzDes, &cons)); - NAPI_CALL(env, napi_create_reference(env, cons, 1, &ctor_)); + NAPI_CALL(env, napi_create_reference(env, cons, 1, &g_ctor)); return cons; }