From 94dc3f52831730e21bebab002b8c467791cb0542 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=AC=A3=E5=AE=87?= Date: Sat, 16 Aug 2025 14:40:42 +0800 Subject: [PATCH] =?UTF-8?q?CreateAppGroupDir=E9=94=81=E7=B2=92=E5=BA=A6?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 张欣宇 Change-Id: I65acf8a62c75d6a164c567a3bc5f8869ac6fbb68 --- services/bundlemgr/src/bundle_data_mgr.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/services/bundlemgr/src/bundle_data_mgr.cpp b/services/bundlemgr/src/bundle_data_mgr.cpp index 423a8b8799..dc45221d82 100644 --- a/services/bundlemgr/src/bundle_data_mgr.cpp +++ b/services/bundlemgr/src/bundle_data_mgr.cpp @@ -7972,13 +7972,17 @@ bool BundleDataMgr::CreateAppGroupDir(const InnerBundleInfo &info, int32_t userI bool BundleDataMgr::CreateAppGroupDir(const std::string &bundleName, int32_t userId) { - std::shared_lock lock(bundleInfoMutex_); - auto bundleInfoItem = bundleInfos_.find(bundleName); - if (bundleInfoItem == bundleInfos_.end()) { - APP_LOGW("%{public}s not found", bundleName.c_str()); - return false; + InnerBundleInfo info; + { + std::shared_lock lock(bundleInfoMutex_); + auto bundleInfoItem = bundleInfos_.find(bundleName); + if (bundleInfoItem == bundleInfos_.end()) { + APP_LOGW("%{public}s not found", bundleName.c_str()); + return false; + } + info = bundleInfoItem->second; } - return CreateAppGroupDir(bundleInfoItem->second, userId); + return CreateAppGroupDir(info, userId); } ErrCode BundleDataMgr::CreateGroupDirs(const std::vector &dataGroupInfos, int32_t userId, -- Gitee