Require CBlockIndex::IsAssumedValid() to hold cs_main
This commit is contained in:
1 parent
572393448b
commit
8ef457cb83
2 files changed
+7
-2
No files matched your search
+5
-1
@@ -320,7 +320,11 @@ public:
|
|||||||
|
|
||||||
//! @returns true if the block is assumed-valid; this means it is queued to be
|
//! @returns true if the block is assumed-valid; this means it is queued to be
|
||||||
//! validated by a background chainstate.
|
//! validated by a background chainstate.
|
||||||
bool IsAssumedValid() const { return nStatus & BLOCK_ASSUMED_VALID; }
|
bool IsAssumedValid() const EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
|
||||||
|
{
|
||||||
|
AssertLockHeld(::cs_main);
|
||||||
|
return nStatus & BLOCK_ASSUMED_VALID;
|
||||||
|
}
|
||||||
|
|
||||||
//! Raise the validity level of this block index entry.
|
//! Raise the validity level of this block index entry.
|
||||||
//! Returns true if the validity was changed.
|
//! Returns true if the validity was changed.
|
||||||
|
|||||||
@@ -235,7 +235,7 @@ BOOST_FIXTURE_TEST_CASE(chainstatemanager_activate_snapshot, TestChain100Setup)
|
|||||||
*chainman.SnapshotBlockhash());
|
*chainman.SnapshotBlockhash());
|
||||||
|
|
||||||
// Ensure that the genesis block was not marked assumed-valid.
|
// Ensure that the genesis block was not marked assumed-valid.
|
||||||
BOOST_CHECK(!chainman.ActiveChain().Genesis()->IsAssumedValid());
|
BOOST_CHECK(WITH_LOCK(::cs_main, return !chainman.ActiveChain().Genesis()->IsAssumedValid()));
|
||||||
|
|
||||||
const AssumeutxoData& au_data = *ExpectedAssumeutxo(snapshot_height, ::Params());
|
const AssumeutxoData& au_data = *ExpectedAssumeutxo(snapshot_height, ::Params());
|
||||||
const CBlockIndex* tip = chainman.ActiveTip();
|
const CBlockIndex* tip = chainman.ActiveTip();
|
||||||
@@ -356,6 +356,7 @@ BOOST_FIXTURE_TEST_CASE(chainstatemanager_loadblockindex, TestChain100Setup)
|
|||||||
|
|
||||||
// Mark some region of the chain assumed-valid.
|
// Mark some region of the chain assumed-valid.
|
||||||
for (int i = 0; i <= cs1.m_chain.Height(); ++i) {
|
for (int i = 0; i <= cs1.m_chain.Height(); ++i) {
|
||||||
|
LOCK(::cs_main);
|
||||||
auto index = cs1.m_chain[i];
|
auto index = cs1.m_chain[i];
|
||||||
|
|
||||||
if (i < last_assumed_valid_idx && i >= assumed_valid_start_idx) {
|
if (i < last_assumed_valid_idx && i >= assumed_valid_start_idx) {
|
||||||
|
|||||||
Reference in new issue
Block a user