diff --git a/frameworks/native/runtime/hdc_register.cpp b/frameworks/native/runtime/hdc_register.cpp index 496c1bdc464626ebc4ff29597eab112c8b35d08f..049a00fde225eed87cbca112dc4951d554f4f3a0 100644 --- a/frameworks/native/runtime/hdc_register.cpp +++ b/frameworks/native/runtime/hdc_register.cpp @@ -42,12 +42,20 @@ void HdcRegister::StartHdcRegister(const std::string& bundleName, const std::str TAG_LOGD(AAFwkTag::JSRUNTIME, "called"); if (debugMode == BOTH_REG) { - registerLocalHandler_ = dlopen("libda_register.z.so", RTLD_LAZY); - registerHdcHandler_ = dlopen("libhdc_register.z.so", RTLD_LAZY); + if (registerLocalHandler_ == nullptr) { + registerLocalHandler_ = dlopen("libda_register.z.so", RTLD_LAZY); + } + if (registerHdcHandler_ == nullptr) { + registerHdcHandler_ = dlopen("libhdc_register.z.so", RTLD_LAZY); + } } else if (debugMode == LOCAL_DEBUG_REG) { - registerLocalHandler_ = dlopen("libda_register.z.so", RTLD_LAZY); + if (registerLocalHandler_ == nullptr) { + registerLocalHandler_ = dlopen("libda_register.z.so", RTLD_LAZY); + } } else { - registerHdcHandler_ = dlopen("libhdc_register.z.so", RTLD_LAZY); + if (registerHdcHandler_ == nullptr) { + registerHdcHandler_ = dlopen("libhdc_register.z.so", RTLD_LAZY); + } } if (registerLocalHandler_ != nullptr) { auto startRegister = reinterpret_cast(dlsym(registerLocalHandler_, "StartConnect")); diff --git a/services/appmgr/src/app_mgr_service_inner.cpp b/services/appmgr/src/app_mgr_service_inner.cpp index 23a53c5fbdd9dbeb857cbc9291a71b4efe506bce..d1d9fdc1bea41feff766528f0b1822129a828600 100644 --- a/services/appmgr/src/app_mgr_service_inner.cpp +++ b/services/appmgr/src/app_mgr_service_inner.cpp @@ -631,7 +631,7 @@ void AppMgrServiceInner::PreloadModuleFinished(const int32_t pid) auto reportLoadTask = [appRecord]() { auto priorityObj = appRecord->GetPriorityObject(); if (priorityObj) { - AAFwk::ResSchedUtil::GetInstance().ReportLoadingEventToRss(AAFwk::LoadingStage::PRELOAD_END, + AAFwk::ResSchedUtil::GetInstance().ReportLoadingEventToRss(AAFwk::LoadingStage::PRELOAD_END, priorityObj->GetPid(), appRecord->GetUid(), 0, 0); } }; @@ -2114,13 +2114,13 @@ bool AppMgrServiceInner::IsUninstallingOrUpgrading(int32_t uid) std::lock_guard lock(uninstallOrUpgradeUidSetLock_); if (uninstallOrUpgradeUidSet_.find(uid) != uninstallOrUpgradeUidSet_.end()) { return true; - } + } return false; } int32_t AppMgrServiceInner::NotifyUninstallOrUpgradeApp(const std::string &bundleName, int32_t uid, bool isUpgrade) { - TAG_LOGD(AAFwkTag::APPMGR, + TAG_LOGD(AAFwkTag::APPMGR, "bundleName: %{public}s, uid: %{public}d", bundleName.c_str(), uid); std::unique_lock lock(startProcessLock_); std::string killReason = isUpgrade ? "UpgradeApp" : "UninstallApp"; @@ -4845,7 +4845,7 @@ void AppMgrServiceInner::OnRemoteDied(const wptr &remote, bool is } } ClearData(appRecord); - + if (appRecord->IsStartSpecifiedAbility() && startSpecifiedAbilityResponse_) { startSpecifiedAbilityResponse_->OnStartSpecifiedFailed(appRecord->GetSpecifiedRequestId()); } @@ -7947,8 +7947,8 @@ int32_t AppMgrServiceInner::UnregisterAppDebugListener(const sptrGetSpecifiedProcessFlag() == "" && !appRecord->IsMasterProcess()) { TAG_LOGE(AAFwkTag::APPMGR, "Current process is not running a component " "configured with \"isolationProcess\"."); - return AAFwk::ERR_NOT_ISOLATION_PROCESS; + return AAFwk::ERR_NOT_ISOLATION_PROCESS; } auto now = std::chrono::steady_clock::now().time_since_epoch(); int64_t timeStamp = std::chrono::duration_cast(now).count(); if(!isInsertToHead){ timeStamp = -timeStamp; - } + } appRecord->SetTimeStamp(timeStamp); return ERR_OK; } @@ -10518,17 +10518,17 @@ int32_t AppMgrServiceInner::DemoteCurrentFromCandidateMasterProcess() if (!AAFwk::AppUtils::GetInstance().IsStartSpecifiedProcess()) { TAG_LOGE(AAFwkTag::APPMGR, "Capability not support"); - return AAFwk::ERR_CAPABILITY_NOT_SUPPORT; + return AAFwk::ERR_CAPABILITY_NOT_SUPPORT; } if (appRecord->IsMasterProcess()) { TAG_LOGE(AAFwkTag::APPMGR, "Current process is already a master process"); return AAFwk::ERR_ALREADY_MASTER_PROCESS; } - + if (appRecord->GetTimeStamp() == 0) { TAG_LOGE(AAFwkTag::APPMGR, "Current process is not a candidate master process"); - return AAFwk::ERR_NOT_CANDIDATE_MASTER_PROCESS; + return AAFwk::ERR_NOT_CANDIDATE_MASTER_PROCESS; } appRecord->SetTimeStamp(0); @@ -10543,7 +10543,7 @@ int32_t AppMgrServiceInner::ExitMasterProcessRole() std::lock_guard guard(exitMasterProcessRoleLock_); if (!AAFwk::AppUtils::GetInstance().IsStartSpecifiedProcess()) { TAG_LOGE(AAFwkTag::APPMGR, "Capability not support"); - return AAFwk::ERR_CAPABILITY_NOT_SUPPORT; + return AAFwk::ERR_CAPABILITY_NOT_SUPPORT; } int32_t pid = IPCSkeleton::GetCallingPid(); @@ -10557,10 +10557,10 @@ int32_t AppMgrServiceInner::ExitMasterProcessRole() TAG_LOGE(AAFwkTag::APPMGR, "Not a master process"); return AAFwk::ERR_NOT_MASTER_PROCESS; } - + if (appRecord->IsNewProcessRequest()) { TAG_LOGE(AAFwkTag::APPMGR, "There is an unfinished onNewProcessRequest"); - return AAFwk::ERR_NOT_ON_NEW_PROCESS_REQUEST_DONE; + return AAFwk::ERR_NOT_ON_NEW_PROCESS_REQUEST_DONE; } appRecord->SetMasterProcess(false); @@ -10581,11 +10581,11 @@ void AppMgrServiceInner::OnProcessDied(std::shared_ptr appReco DelayedSingleton::GetInstance()->OnProcessDied(appRecord); } -bool AppMgrServiceInner::IsBlockedByDisposeRules(const std::string &bundleName, int32_t userId, +bool AppMgrServiceInner::IsBlockedByDisposeRules(const std::string &bundleName, int32_t userId, int32_t appIndex) { HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__); - TAG_LOGI(AAFwkTag::APPMGR, + TAG_LOGI(AAFwkTag::APPMGR, "bundleName: %{public}s, userId: %{public}d", bundleName.c_str(), userId); // get bms auto bundleMgrHelper = DelayedSingleton::GetInstance(); @@ -10631,7 +10631,7 @@ int32_t AppMgrServiceInner:: PreCheckStartProcess(const std::string &bundleName, std::shared_ptr &want) { HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__); - TAG_LOGD(AAFwkTag::APPMGR, + TAG_LOGD(AAFwkTag::APPMGR, "bundleName: %{public}s, uid: %{public}d", bundleName.c_str(), uid); if (!IsUninstallingOrUpgrading(uid)) { return ERR_OK;