diff --git a/services/distributedhardwarefwkservice/src/distributed_hardware_manager_factory.cpp b/services/distributedhardwarefwkservice/src/distributed_hardware_manager_factory.cpp index fe5e48f60041f8e28f0146a6c700597d7f5c367c..b4028301a72553b81099d2463f5c562040e38e8b 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/distributedhardwarefwkservice/test/unittest/common/accessmanager/access_manager_test.cpp b/services/distributedhardwarefwkservice/test/unittest/common/accessmanager/access_manager_test.cpp index fd0390132490e68536a3300a50110b164d445d8e..0c6b882ba263c237ec04760b79335a354856ebd7 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 604f5dd64edff02f46dc9d2198cd877f29f88880..14e03e3eac2fa8bf09537981880324aa1ddfc2e4 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;