diff options
author | Jon Atack <jon@atack.com> | 2022-01-28 20:25:50 +0100 |
---|---|---|
committer | Jon Atack <jon@atack.com> | 2022-01-28 20:52:53 +0100 |
commit | 20276ca5d124285bdd1bda4cd777ca186b378555 (patch) | |
tree | 5c326059e1c15c802cda0969a52e1209f60d2166 /src/txdb.cpp | |
parent | d4e92d843650b0480b86d15ce46ed02b6fd9b5be (diff) |
Replace lock with thread safety annotation in CBlockTreeDB::LoadBlockIndexGuts()
Diffstat (limited to 'src/txdb.cpp')
-rw-r--r-- | src/txdb.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/txdb.cpp b/src/txdb.cpp index e2aed1da7c..5e4379a60a 100644 --- a/src/txdb.cpp +++ b/src/txdb.cpp @@ -296,8 +296,8 @@ bool CBlockTreeDB::ReadFlag(const std::string &name, bool &fValue) { bool CBlockTreeDB::LoadBlockIndexGuts(const Consensus::Params& consensusParams, std::function<CBlockIndex*(const uint256&)> insertBlockIndex) { + AssertLockHeld(::cs_main); std::unique_ptr<CDBIterator> pcursor(NewIterator()); - pcursor->Seek(std::make_pair(DB_BLOCK_INDEX, uint256())); // Load m_block_index @@ -311,19 +311,16 @@ bool CBlockTreeDB::LoadBlockIndexGuts(const Consensus::Params& consensusParams, CBlockIndex* pindexNew = insertBlockIndex(diskindex.GetBlockHash()); pindexNew->pprev = insertBlockIndex(diskindex.hashPrev); pindexNew->nHeight = diskindex.nHeight; + pindexNew->nFile = diskindex.nFile; + pindexNew->nDataPos = diskindex.nDataPos; + pindexNew->nUndoPos = diskindex.nUndoPos; pindexNew->nVersion = diskindex.nVersion; pindexNew->hashMerkleRoot = diskindex.hashMerkleRoot; pindexNew->nTime = diskindex.nTime; pindexNew->nBits = diskindex.nBits; pindexNew->nNonce = diskindex.nNonce; + pindexNew->nStatus = diskindex.nStatus; pindexNew->nTx = diskindex.nTx; - { - LOCK(::cs_main); - pindexNew->nFile = diskindex.nFile; - pindexNew->nDataPos = diskindex.nDataPos; - pindexNew->nUndoPos = diskindex.nUndoPos; - pindexNew->nStatus = diskindex.nStatus; - } if (!CheckProofOfWork(pindexNew->GetBlockHash(), pindexNew->nBits, consensusParams)) { return error("%s: CheckProofOfWork failed: %s", __func__, pindexNew->ToString()); |