diff --git a/src/rpc/blockchain.cpp b/src/rpc/blockchain.cpp index f7ccbae706..d43c22e4da 100644 --- a/src/rpc/blockchain.cpp +++ b/src/rpc/blockchain.cpp @@ -1976,7 +1976,6 @@ bool FindScriptPubKey(std::atomic& scan_progress, const std::atomic& } /** RAII object to prevent concurrency issue when scanning the txout set */ -static std::mutex g_utxosetscan; static std::atomic g_scan_progress; static std::atomic g_scan_in_progress; static std::atomic g_should_abort_scan; @@ -1989,18 +1988,15 @@ public: bool reserve() { CHECK_NONFATAL(!m_could_reserve); - std::lock_guard lock(g_utxosetscan); - if (g_scan_in_progress) { + if (g_scan_in_progress.exchange(true)) { return false; } - g_scan_in_progress = true; m_could_reserve = true; return true; } ~CoinsViewScanReserver() { if (m_could_reserve) { - std::lock_guard lock(g_utxosetscan); g_scan_in_progress = false; } }