diff options
author | Anthony Towns <aj@erisian.com.au> | 2020-02-11 14:54:50 +1000 |
---|---|---|
committer | Anthony Towns <aj@erisian.com.au> | 2020-05-06 15:28:49 +1000 |
commit | c3cf2f55013c4ea1c1ef4a878fc7ff8e92f2c42d (patch) | |
tree | c8e47395e31c661c43c198538dd927acadafa687 | |
parent | d96fdc2a396f4ca44d64d830b352469674f2845f (diff) |
rpc/blockchain.cpp: Remove g_utxosetscan mutex that is only protecting a single atomic variable
-rw-r--r-- | src/rpc/blockchain.cpp | 6 |
1 files changed, 1 insertions, 5 deletions
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<int>& scan_progress, const std::atomic<bool>& } /** RAII object to prevent concurrency issue when scanning the txout set */ -static std::mutex g_utxosetscan; static std::atomic<int> g_scan_progress; static std::atomic<bool> g_scan_in_progress; static std::atomic<bool> g_should_abort_scan; @@ -1989,18 +1988,15 @@ public: bool reserve() { CHECK_NONFATAL(!m_could_reserve); - std::lock_guard<std::mutex> 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<std::mutex> lock(g_utxosetscan); g_scan_in_progress = false; } } |