From 74440953f50d1a0ab85321d273349221d2a0bea1 Mon Sep 17 00:00:00 2001 From: tangfan <1824525929@qq.com> Date: Sat, 26 Mar 2022 19:20:28 +0800 Subject: [PATCH 1/2] fix ut Signed-off-by: tangfan <1824525929@qq.com> --- .../test/unittest/common/accessmanager/access_manager_test.cpp | 2 +- .../src/componentloader/component_loader.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/services/distributedhardwarefwkservice/test/unittest/common/accessmanager/access_manager_test.cpp b/services/distributedhardwarefwkservice/test/unittest/common/accessmanager/access_manager_test.cpp index fd039013..0c6b882b 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/accessmanager/access_manager_test.cpp +++ b/services/distributedhardwarefwkservice/test/unittest/common/accessmanager/access_manager_test.cpp @@ -149,7 +149,7 @@ HWTEST_F(AccessManagerTest, SendOffLineEvent_002, TestSize.Level1) ret = DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent(TEST_DEVICES[0].first, "", TEST_DEV_TYPE_PAD); - ASSERT_EQ(ERR_DH_FWK_REMOTE_DEVICE_ID_IS_EMPTY, ret); + ASSERT_EQ(ERR_DH_FWK_HARDWARE_MANAGER_LOAD_IMPL_FAILED, ret); ASSERT_FALSE(DistributedHardwareManagerFactory::GetInstance().IsInit()); } diff --git a/services/distributedhardwarefwkserviceimpl/src/componentloader/component_loader.cpp b/services/distributedhardwarefwkserviceimpl/src/componentloader/component_loader.cpp index 604f5dd6..14e03e3e 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 From a66b749ee0440ffdbf910272a63bfdf6dceebadc Mon Sep 17 00:00:00 2001 From: tangfan <1824525929@qq.com> Date: Sat, 26 Mar 2022 19:51:54 +0800 Subject: [PATCH 2/2] add dlopen flag Signed-off-by: tangfan <1824525929@qq.com> --- .../src/distributed_hardware_manager_factory.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/distributedhardwarefwkservice/src/distributed_hardware_manager_factory.cpp b/services/distributedhardwarefwkservice/src/distributed_hardware_manager_factory.cpp index fe5e48f6..b4028301 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; -- Gitee