rpc/blockchain.cpp: Remove g_utxosetscan mutex that is only protecting a single atomic variable

This commit is contained in:
Anthony Towns committed 2020-05-06 15:28:49 +10:00
1 parent d96fdc2a39
commit c3cf2f5501
1 file changed
+1 -5
+1 -5
View File
@@ -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;
}
}