From ac84803c2bd1218805db3f0704a568b273ee7d45 Mon Sep 17 00:00:00 2001 From: tangfan <1824525929@qq.com> Date: Mon, 28 Mar 2022 21:37:44 +0800 Subject: [PATCH] fix dlopen param Signed-off-by: tangfan <1824525929@qq.com> --- .../src/distributed_hardware_manager_factory.cpp | 2 +- .../src/componentloader/component_loader.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/services/distributedhardwarefwkservice/src/distributed_hardware_manager_factory.cpp b/services/distributedhardwarefwkservice/src/distributed_hardware_manager_factory.cpp index fc9e0523..6ee697dd 100644 --- a/services/distributedhardwarefwkservice/src/distributed_hardware_manager_factory.cpp +++ b/services/distributedhardwarefwkservice/src/distributed_hardware_manager_factory.cpp @@ -136,7 +136,7 @@ int32_t DistributedHardwareManagerFactory::LoadLibrary() return DH_FWK_SUCCESS; } - handler_ = dlopen(LIB_NAME, RTLD_NOW); + handler_ = dlopen(LIB_NAME, RTLD_NOW | RTLD_NODELETE); if (handler_ == nullptr) { DHLOGE("open %s failed.", LIB_NAME); return ERR_DH_FWK_HARDWARE_MANAGER_LIB_IMPL_OPEN_FAILED; diff --git a/services/distributedhardwarefwkserviceimpl/src/componentloader/component_loader.cpp b/services/distributedhardwarefwkserviceimpl/src/componentloader/component_loader.cpp index 9d262bbb..0d4aea87 100644 --- a/services/distributedhardwarefwkserviceimpl/src/componentloader/component_loader.cpp +++ b/services/distributedhardwarefwkserviceimpl/src/componentloader/component_loader.cpp @@ -135,7 +135,7 @@ void *ComponentLoader::GetHandler(const std::string &soName) DHLOGE("File canonicalization failed"); return nullptr; } - void *pHandler = dlopen(path, RTLD_LAZY); + void *pHandler = dlopen(path, RTLD_LAZY | RTLD_NODELETE); if (pHandler == nullptr) { DHLOGE("%s handler load failed.", path); return nullptr; -- Gitee