diff --git a/utils/include/b_utils/scan_file_singleton.h b/utils/include/b_utils/scan_file_singleton.h index 6fde188d8bda5f984b296cbb645f6649dcebda4a..a3174279bd57f72c61681fecfa8ab96fc99d3d29 100644 --- a/utils/include/b_utils/scan_file_singleton.h +++ b/utils/include/b_utils/scan_file_singleton.h @@ -58,7 +58,7 @@ private: std::map smallFiles_; std::mutex mutexLock_; std::condition_variable waitForFilesAddCv_; - bool isCalculateCompeleted_ = false; + bool isCalculateCompleted_ = false; uint32_t includeSize_ = 0; uint32_t excludeSize_ = 0; }; diff --git a/utils/src/b_filesystem/b_dir.cpp b/utils/src/b_filesystem/b_dir.cpp index b1da1f0e63455ddcd09340db04f70836db005887..3cefa227608d2a2ed4595ab72f8c250ea83bc0d4 100644 --- a/utils/src/b_filesystem/b_dir.cpp +++ b/utils/src/b_filesystem/b_dir.cpp @@ -63,6 +63,12 @@ static bool IsEmptyDirectory(const string &path) return isEmpty; } +static void InsertSmallFiles(std::map &smallFiles, std::string fileName, size_t size) +{ + ScanFileSingleton::GetInstance().AddSmallFile(fileName, size); + smallFiles.emplace(make_pair(fileName, size)); +} + static tuple, map> GetFile(const string &path, off_t size = -1) { map files; @@ -77,7 +83,9 @@ static tuple, map> GetFile(con } if (sta.st_size <= size) { smallFiles.emplace(make_pair(path, sta.st_size)); + InsertSmallFiles(smallFiles, path, sta.st_size); } else { + ScanFileSingleton::GetInstance().AddBigFile(path, sta); files.try_emplace(path, sta); } return {BError(BError::Codes::OK).GetCode(), files, smallFiles}; @@ -94,12 +102,6 @@ static uint32_t CheckOverLongPath(const string &path) return len; } -static void InsertSmallFiles(std::map &smallFiles, std::string fileName, size_t size) -{ - ScanFileSingleton::GetInstance().AddSmallFile(fileName, size); - smallFiles.emplace(make_pair(fileName, size)); -} - static tuple, map> GetDirFilesDetail(const string &path, bool recursion, off_t size = -1) diff --git a/utils/src/b_utils/scan_file_singleton.cpp b/utils/src/b_utils/scan_file_singleton.cpp index 86fd425ca48ecffdd3393c04dfeb8de4301b5c06..8761a4cc3621ad7cd8794c7ef65a4e9e50ca2816 100644 --- a/utils/src/b_utils/scan_file_singleton.cpp +++ b/utils/src/b_utils/scan_file_singleton.cpp @@ -25,7 +25,7 @@ ScanFileSingleton& ScanFileSingleton::GetInstance() ScanFileSingleton::~ScanFileSingleton() { - isCalculateCompeleted_ = false; + isCalculateCompleted_ = false; } void ScanFileSingleton::AddBigFile(const std::string& key, const struct stat& value) @@ -55,13 +55,13 @@ std::map ScanFileSingleton::GetAllBigFiles() bool ScanFileSingleton::GetCompeletedFlag() { std::lock_guard lock(mutexLock_); - return isCalculateCompeleted_; + return isCalculateCompleted_; } void ScanFileSingleton::SetCompeletedFlag(bool value) { std::lock_guard lock(mutexLock_); - isCalculateCompeleted_ = value; + isCalculateCompleted_ = value; if (value) { waitForFilesAddCv_.notify_all(); } @@ -101,7 +101,7 @@ void ScanFileSingleton::WaitForFiles() { HILOGI("calculate is uncompleted, need to wait"); std::unique_lock lock(mutexLock_); - waitForFilesAddCv_.wait(lock, [this] {return !bigFileQueue_.empty() || isCalculateCompeleted_; }); + waitForFilesAddCv_.wait(lock, [this] {return !bigFileQueue_.empty() || isCalculateCompleted_; }); } } // namespace OHOS::FileManagement::Backup \ No newline at end of file