validation: make CCheckQueueControl's CCheckQueue non-optional

This simplifies the construction logic and will allow the constructor and
destructor to lock and unlock uncondiationally.
This commit is contained in:
Cory Fields
2025-05-06 15:14:50 +00:00
parent 4c8c90b556
commit c3b0e6c7f4
6 changed files with 18 additions and 26 deletions

View File

@@ -2612,7 +2612,7 @@ bool Chainstate::ConnectBlock(const CBlock& block, BlockValidationState& state,
// doesn't invalidate pointers into the vector, and keep txsdata in scope
// for as long as `control`.
std::optional<CCheckQueueControl<CScriptCheck>> control;
if (fScriptChecks && parallel_script_checks) control.emplace(&m_chainman.GetCheckQueue());
if (fScriptChecks && parallel_script_checks) control.emplace(m_chainman.GetCheckQueue());
std::vector<PrecomputedTransactionData> txsdata(block.vtx.size());