Cleanup received_new_header calculation to use WITH_LOCK

This commit is contained in:
Suhas Daftuar 2022-02-08 17:43:38 -05:00
parent 6d95cd3e74
commit ffe87db247

View file

@ -2420,7 +2420,6 @@ void PeerManagerImpl::ProcessHeadersMessage(CNode& pfrom, Peer& peer,
return;
}
bool received_new_header = false;
const CBlockIndex *pindexLast = nullptr;
// Do these headers connect to something in our block index?
@ -2444,15 +2443,9 @@ void PeerManagerImpl::ProcessHeadersMessage(CNode& pfrom, Peer& peer,
return;
}
{
LOCK(cs_main);
// If we don't have the last header, then they'll have given us
// If we don't have the last header, then this peer will have given us
// something new (if these headers are valid).
if (!m_chainman.m_blockman.LookupBlockIndex(headers.back().GetHash())) {
received_new_header = true;
}
}
bool received_new_header{WITH_LOCK(::cs_main, return m_chainman.m_blockman.LookupBlockIndex(headers.back().GetHash()) == nullptr)};
BlockValidationState state;
if (!m_chainman.ProcessNewBlockHeaders(headers, state, &pindexLast)) {