Make SessionManager::m_active atomic

It is written under m_mutex but read under m_pending_builds_mutex in one place.
This commit is contained in:
xirvik
2026-09-19 02:00:21 +00:00
committed by Jari Sundell
parent 6471dc181e
commit 21287a1355
2 changed files with 2 additions and 2 deletions
-1
View File
@@ -75,7 +75,6 @@ SessionManager::save_resume_download(core::Download* download) {
{
std::unique_lock<std::mutex> lock(m_pending_builds_mutex);
// TODO: This is under the wrong lock.
if (!m_active)
throw torrent::internal_error("SessionManager::save_resume_download() called while not active.");
+2 -1
View File
@@ -1,6 +1,7 @@
#ifndef RTORRENT_SESSION_SESSION_MANAGER_H
#define RTORRENT_SESSION_SESSION_MANAGER_H
#include <atomic>
#include <condition_variable>
#include <deque>
#include <future>
@@ -101,7 +102,7 @@ private:
align_cacheline std::mutex m_mutex;
bool m_active{};
std::atomic<bool> m_active{};
std::deque<SaveRequest> m_save_requests;
std::atomic<size_t> m_save_request_counter{};