From 66df44a8dd181e213a83c754078d9097d9d33bf8 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Tue, 24 Dec 2024 11:30:43 -0600 Subject: [PATCH] continue fixes for dead-lock when max cache size is reached --- repertory/librepertory/src/file_manager/cache_size_mgr.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/repertory/librepertory/src/file_manager/cache_size_mgr.cpp b/repertory/librepertory/src/file_manager/cache_size_mgr.cpp index 16ab568a..1cc02c40 100644 --- a/repertory/librepertory/src/file_manager/cache_size_mgr.cpp +++ b/repertory/librepertory/src/file_manager/cache_size_mgr.cpp @@ -56,7 +56,9 @@ auto cache_size_mgr::expand(std::uint64_t size, bool should_wait) -> api_error { auto max_cache_size = cfg_->get_max_cache_size_bytes(); - while (not stop_requested_ && cache_size_ > max_cache_size) { + auto cache_dir = utils::file::directory{cfg_->get_cache_directory()}; + while (not stop_requested_ && cache_size_ > max_cache_size && + cache_dir.count() > 1U) { event_system::instance().raise(cache_size_, max_cache_size); if (not should_wait) {