diff options
| author | Callum Linden <113564339+callumlinden@users.noreply.github.com> | 2025-09-05 14:18:07 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-05 14:18:07 -0700 |
| commit | 40e2b67db59603dd4e850011e556d56022016ad0 (patch) | |
| tree | bf9d88d44241f1d867fb492ba8d633ccf75ddf0a /indra/llfilesystem/lldiskcache.cpp | |
| parent | 12704b941132ec6fb6ca62da007c3ec02292c872 (diff) | |
| parent | 789a64b0def7b404ab23b505482882f4820c42e3 (diff) | |
Merge pull request #4640 from secondlife/callum/mac_universal
Updates to macOS universal build
Diffstat (limited to 'indra/llfilesystem/lldiskcache.cpp')
| -rw-r--r-- | indra/llfilesystem/lldiskcache.cpp | 70 |
1 files changed, 35 insertions, 35 deletions
diff --git a/indra/llfilesystem/lldiskcache.cpp b/indra/llfilesystem/lldiskcache.cpp index 417577369f..e971e1885a 100644 --- a/indra/llfilesystem/lldiskcache.cpp +++ b/indra/llfilesystem/lldiskcache.cpp @@ -34,7 +34,7 @@ #include "llapp.h" #include "llassettype.h" #include "lldir.h" -#include <filesystem> +#include <boost/filesystem.hpp> #include <chrono> #include "lldiskcache.h" @@ -83,7 +83,7 @@ LLDiskCache::LLDiskCache(const std::string& cache_dir, // garbage.) // Other situation: B is trimming the cache and A wants to read a file that is -// about to get deleted. std::filesystem::remove does whatever it is doing +// about to get deleted. boost::filesystem::remove does whatever it is doing // before actually deleting the file. If A opens the file before the file is // actually gone, the OS call from B to delete the file will fail since the OS // will prevent this. B continues with the next file. If the file is already @@ -96,10 +96,10 @@ void LLDiskCache::purge() LL_INFOS() << "Total dir size before purge is " << dirFileSize(sCacheDir) << LL_ENDL; } - std::error_code ec; + boost::system::error_code ec; auto start_time = std::chrono::high_resolution_clock::now(); - typedef std::pair<std::filesystem::file_time_type, std::pair<uintmax_t, std::string>> file_info_t; + typedef std::pair<std::time_t, std::pair<uintmax_t, std::string>> file_info_t; std::vector<file_info_t> file_info; #if LL_WINDOWS @@ -107,23 +107,23 @@ void LLDiskCache::purge() #else std::string cache_path(sCacheDir); #endif - if (std::filesystem::is_directory(cache_path, ec) && ec.value() == 0) + if (boost::filesystem::is_directory(cache_path, ec) && !ec.failed()) { - std::filesystem::directory_iterator iter(cache_path, ec); - while (iter != std::filesystem::directory_iterator() && ec.value() == 0) + boost::filesystem::directory_iterator iter(cache_path, ec); + while (iter != boost::filesystem::directory_iterator() && !ec.failed()) { - if (std::filesystem::is_regular_file(*iter, ec) && ec.value() == 0) + if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed()) { if ((*iter).path().string().find(CACHE_FILENAME_PREFIX) != std::string::npos) { - uintmax_t file_size = std::filesystem::file_size(*iter, ec); - if (ec.value() != 0) + uintmax_t file_size = boost::filesystem::file_size(*iter, ec); + if (ec.failed()) { continue; } const std::string file_path = (*iter).path().string(); - const std::filesystem::file_time_type file_time = std::filesystem::last_write_time(*iter, ec); - if (ec.value() != 0) + const std::time_t file_time = boost::filesystem::last_write_time(*iter, ec); + if (ec.failed()) { continue; } @@ -159,8 +159,8 @@ void LLDiskCache::purge() } if (should_remove) { - std::filesystem::remove(entry.second.second, ec); - if (ec.value() != 0) + boost::filesystem::remove(entry.second.second, ec); + if (ec.failed()) { LL_WARNS() << "Failed to delete cache file " << entry.second.second << ": " << ec.message() << LL_ENDL; } @@ -224,23 +224,23 @@ void LLDiskCache::clearCache() * the component files but it's called infrequently so it's * likely just fine */ - std::error_code ec; + boost::system::error_code ec; #if LL_WINDOWS std::wstring cache_path(ll_convert<std::wstring>(sCacheDir)); #else std::string cache_path(sCacheDir); #endif - if (std::filesystem::is_directory(cache_path, ec) && ec.value() == 0) + if (boost::filesystem::is_directory(cache_path, ec) && !ec.failed()) { - std::filesystem::directory_iterator iter(cache_path, ec); - while (iter != std::filesystem::directory_iterator() && ec.value() == 0) + boost::filesystem::directory_iterator iter(cache_path, ec); + while (iter != boost::filesystem::directory_iterator() && !ec.failed()) { - if (std::filesystem::is_regular_file(*iter, ec) && ec.value() == 0) + if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed()) { if ((*iter).path().string().find(CACHE_FILENAME_PREFIX) != std::string::npos) { - std::filesystem::remove(*iter, ec); - if (ec.value() != 0) + boost::filesystem::remove(*iter, ec); + if (ec.failed()) { LL_WARNS() << "Failed to delete cache file " << *iter << ": " << ec.message() << LL_ENDL; } @@ -257,24 +257,24 @@ void LLDiskCache::removeOldVFSFiles() static const char CACHE_FORMAT[] = "inv.llsd"; static const char DB_FORMAT[] = "db2.x"; - std::error_code ec; + boost::system::error_code ec; #if LL_WINDOWS std::wstring cache_path(ll_convert<std::wstring>(gDirUtilp->getExpandedFilename(LL_PATH_CACHE, ""))); #else std::string cache_path(gDirUtilp->getExpandedFilename(LL_PATH_CACHE, "")); #endif - if (std::filesystem::is_directory(cache_path, ec) && ec.value() == 0) + if (boost::filesystem::is_directory(cache_path, ec) && !ec.failed()) { - std::filesystem::directory_iterator iter(cache_path, ec); - while (iter != std::filesystem::directory_iterator() && ec.value() == 0) + boost::filesystem::directory_iterator iter(cache_path, ec); + while (iter != boost::filesystem::directory_iterator() && !ec.failed()) { - if (std::filesystem::is_regular_file(*iter, ec) && ec.value() == 0) + if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed()) { if (((*iter).path().string().find(CACHE_FORMAT) != std::string::npos) || ((*iter).path().string().find(DB_FORMAT) != std::string::npos)) { - std::filesystem::remove(*iter, ec); - if (ec.value() != 0) + boost::filesystem::remove(*iter, ec); + if (ec.failed()) { LL_WARNS() << "Failed to delete cache file " << *iter << ": " << ec.message() << LL_ENDL; } @@ -298,23 +298,23 @@ uintmax_t LLDiskCache::dirFileSize(const std::string& dir) * so if performance is ever an issue, optimizing this or removing it altogether, * is an easy win. */ - std::error_code ec; + boost::system::error_code ec; #if LL_WINDOWS std::wstring dir_path(ll_convert<std::wstring>(dir)); #else std::string dir_path(dir); #endif - if (std::filesystem::is_directory(dir_path, ec) && ec.value() == 0) + if (boost::filesystem::is_directory(dir_path, ec) && !ec.failed()) { - std::filesystem::directory_iterator iter(dir_path, ec); - while (iter != std::filesystem::directory_iterator() && ec.value() == 0) + boost::filesystem::directory_iterator iter(dir_path, ec); + while (iter != boost::filesystem::directory_iterator() && !ec.failed()) { - if (std::filesystem::is_regular_file(*iter, ec) && ec.value() == 0) + if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed()) { if ((*iter).path().string().find(CACHE_FILENAME_PREFIX) != std::string::npos) { - uintmax_t file_size = std::filesystem::file_size(*iter, ec); - if (ec.value() == 0) + uintmax_t file_size = boost::filesystem::file_size(*iter, ec); + if (!ec.failed()) { total_file_size += file_size; } |
