From 04835041102a3621256b6b494cd434966a65fb42 Mon Sep 17 00:00:00 2001 From: 18392170496 Date: Tue, 8 Aug 2023 14:22:58 +0800 Subject: [PATCH] remove cleanup hook Signed-off-by: 18392170496 --- .../napi_common/source/napi_remote_object_holder.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ipc/native/src/napi_common/source/napi_remote_object_holder.cpp b/ipc/native/src/napi_common/source/napi_remote_object_holder.cpp index 77ca75c..9a025ea 100644 --- a/ipc/native/src/napi_common/source/napi_remote_object_holder.cpp +++ b/ipc/native/src/napi_common/source/napi_remote_object_holder.cpp @@ -52,7 +52,12 @@ NAPIRemoteObjectHolder::NAPIRemoteObjectHolder(napi_env env, const std::u16strin NAPIRemoteObjectHolder::~NAPIRemoteObjectHolder() { - napi_remove_env_cleanup_hook(env_, OnEnvCleanUp, this); + if (env_ != nullptr) { + napi_status status = napi_remove_env_cleanup_hook(env_, OnEnvCleanUp, this); + if (status != napi_ok) { + ZLOGE(LOG_LABEL, "remove cleanup hook failed"); + } + } } sptr NAPIRemoteObjectHolder::Get() @@ -95,6 +100,10 @@ napi_env NAPIRemoteObjectHolder::GetJsObjectEnv() const void NAPIRemoteObjectHolder::CleanJsEnv() { + napi_status status = napi_remove_env_cleanup_hook(env_, OnEnvCleanUp, this); + if (status != napi_ok) { + ZLOGE(LOG_LABEL, "remove cleanup hook failed"); + } env_ = nullptr; jsObjectRef_ = nullptr; sptr tmp = wptrCachedObject_.promote(); -- GitLab