From 1bff42042dfe14eb1c87e837cec29fd430fdd0f1 Mon Sep 17 00:00:00 2001 From: orignal Date: Tue, 28 Jan 2025 21:22:36 -0500 Subject: [PATCH] check if saving if complete --- libi2pd/RouterContext.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libi2pd/RouterContext.cpp b/libi2pd/RouterContext.cpp index 0c22ba45..2cc2becd 100644 --- a/libi2pd/RouterContext.cpp +++ b/libi2pd/RouterContext.cpp @@ -78,7 +78,7 @@ namespace i2p m_Service->Stop (); CleanUp (); // GarlicDestination } - if (m_SavingRouterInfo.valid ()) + if (m_SavingRouterInfo.valid () && m_SavingRouterInfo.wait_for(std::chrono::seconds(0)) != std::future_status::ready) m_SavingRouterInfo.wait (); } @@ -266,8 +266,9 @@ namespace i2p // defer saving buffer to disk if (m_SavingRouterInfo.valid ()) { - // wait until previous update complete - m_SavingRouterInfo.wait (); + if (m_SavingRouterInfo.wait_for(std::chrono::seconds(0)) != std::future_status::ready) + // wait until previous update complete + m_SavingRouterInfo.wait (); m_SavingRouterInfo.get (); } m_SavingRouterInfo = std::async (std::launch::async,