From 6f2715962767571a2719e4339589314fec16a987 Mon Sep 17 00:00:00 2001 From: PiloUnk <198624632+PiloUnk@users.noreply.github.com> Date: Sun, 15 Mar 2026 23:20:00 +0100 Subject: [PATCH] Refactor full save scheduling with early return --- src/session/session_manager.cc | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/session/session_manager.cc b/src/session/session_manager.cc index 1f98f1f4..2381a164 100644 --- a/src/session/session_manager.cc +++ b/src/session/session_manager.cc @@ -104,8 +104,6 @@ SessionManager::save_full_download(core::Download* download) { storer.libtorrent_stream() }; - bool should_schedule = false; - { std::unique_lock lock(m_mutex); @@ -116,17 +114,16 @@ SessionManager::save_full_download(core::Download* download) { if (replace_save_request_unsafe(save_request)) { LT_LOG("updated pending save request with full save data : download:%p", download); - should_schedule = true; - } else { - m_save_requests.push_back(std::move(save_request)); - m_save_request_counter = m_save_requests.size(); - - LT_LOG("queued new full save request : download:%p", download); - should_schedule = true; + return; } + + m_save_requests.push_back(std::move(save_request)); + m_save_request_counter = m_save_requests.size(); + + LT_LOG("queued new full save request : download:%p", download); } - if (should_schedule && !m_processing_saves_callback_scheduled.exchange(true)) + if (!m_processing_saves_callback_scheduled.exchange(true)) session_thread::callback(this, [this]() { process_save_request(); }); }