@@ -5159,7 +5159,7 @@ double GuessVerificationProgress(const ChainTxData& data, const CBlockIndex *pin
5159
5159
}
5160
5160
5161
5161
Optional<uint256> ChainstateManager::SnapshotBlockhash () const {
5162
- LOCK (::cs_main); // for m_active_chainstate access
5162
+ LOCK (::cs_main);
5163
5163
if (m_active_chainstate != nullptr ) {
5164
5164
// If a snapshot chainstate exists, it will always be our active.
5165
5165
return m_active_chainstate->m_from_snapshot_blockhash ;
@@ -5169,6 +5169,7 @@ Optional<uint256> ChainstateManager::SnapshotBlockhash() const {
5169
5169
5170
5170
std::vector<CChainState*> ChainstateManager::GetAll ()
5171
5171
{
5172
+ LOCK (::cs_main);
5172
5173
std::vector<CChainState*> out;
5173
5174
5174
5175
if (!IsSnapshotValidated () && m_ibd_chainstate) {
@@ -5213,11 +5214,13 @@ CChainState& ChainstateManager::ActiveChainstate() const
5213
5214
5214
5215
bool ChainstateManager::IsSnapshotActive () const
5215
5216
{
5216
- return m_snapshot_chainstate && WITH_LOCK (::cs_main, return m_active_chainstate) == m_snapshot_chainstate.get ();
5217
+ LOCK (::cs_main);
5218
+ return m_snapshot_chainstate && m_active_chainstate == m_snapshot_chainstate.get ();
5217
5219
}
5218
5220
5219
5221
CChainState& ChainstateManager::ValidatedChainstate () const
5220
5222
{
5223
+ LOCK (::cs_main);
5221
5224
if (m_snapshot_chainstate && IsSnapshotValidated ()) {
5222
5225
return *m_snapshot_chainstate.get ();
5223
5226
}
@@ -5227,6 +5230,7 @@ CChainState& ChainstateManager::ValidatedChainstate() const
5227
5230
5228
5231
bool ChainstateManager::IsBackgroundIBD (CChainState* chainstate) const
5229
5232
{
5233
+ LOCK (::cs_main);
5230
5234
return (m_snapshot_chainstate && chainstate == m_ibd_chainstate.get ());
5231
5235
}
5232
5236
@@ -5242,12 +5246,10 @@ void ChainstateManager::Unload()
5242
5246
5243
5247
void ChainstateManager::Reset ()
5244
5248
{
5249
+ LOCK (::cs_main);
5245
5250
m_ibd_chainstate.reset ();
5246
5251
m_snapshot_chainstate.reset ();
5247
- {
5248
- LOCK (::cs_main);
5249
- m_active_chainstate = nullptr ;
5250
- }
5252
+ m_active_chainstate = nullptr ;
5251
5253
m_snapshot_validated = false ;
5252
5254
}
5253
5255
0 commit comments