aboutsummaryrefslogtreecommitdiff
path: root/src/validation.cpp
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2018-03-20 21:04:27 -0700
committerPieter Wuille <pieter.wuille@gmail.com>2018-04-03 21:53:27 -0700
commit45dd13503918e75a45ce33eb5c934b998790fdc8 (patch)
treed5febb2553c79a1dbedcfbf1eccc4c1ec99133a5 /src/validation.cpp
parentad960f5771dc251c8e1198dd8a82e18df4562171 (diff)
downloadbitcoin-45dd13503918e75a45ce33eb5c934b998790fdc8.tar.xz
Fix csBestBlock/cvBlockChange waiting in rpc/mining
Diffstat (limited to 'src/validation.cpp')
-rw-r--r--src/validation.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/validation.cpp b/src/validation.cpp
index df8729e382..c3e411f1fc 100644
--- a/src/validation.cpp
+++ b/src/validation.cpp
@@ -204,6 +204,7 @@ CChain& chainActive = g_chainstate.chainActive;
CBlockIndex *pindexBestHeader = nullptr;
CWaitableCriticalSection csBestBlock;
CConditionVariable cvBlockChange;
+uint256 hashBestBlock;
int nScriptCheckThreads = 0;
std::atomic_bool fImporting(false);
std::atomic_bool fReindex(false);
@@ -2195,7 +2196,11 @@ void static UpdateTip(const CBlockIndex *pindexNew, const CChainParams& chainPar
// New best block
mempool.AddTransactionsUpdated(1);
- cvBlockChange.notify_all();
+ {
+ WaitableLock lock(csBestBlock);
+ hashBestBlock = pindexNew->GetBlockHash();
+ cvBlockChange.notify_all();
+ }
std::vector<std::string> warningMessages;
if (!IsInitialBlockDownload())