diff --git a/src/validation.h b/src/validation.h --- a/src/validation.h +++ b/src/validation.h @@ -636,6 +636,8 @@ bool AcceptBlockHeader(const Config &config, const CBlockHeader &block, BlockValidationState &state, CBlockIndex **ppindex) EXCLUSIVE_LOCKS_REQUIRED(cs_main); + + ~BlockManager() { Unload(); } }; /** diff --git a/src/validation.cpp b/src/validation.cpp --- a/src/validation.cpp +++ b/src/validation.cpp @@ -6037,20 +6037,6 @@ return std::min(pindex->GetChainTxCount() / fTxTotal, 1.0); } -class CMainCleanup { -public: - CMainCleanup() {} - ~CMainCleanup() { - // block headers - for (const std::pair &it : - g_chainman.BlockIndex()) { - delete it.second; - } - g_chainman.BlockIndex().clear(); - } -}; -static CMainCleanup instance_of_cmaincleanup; - std::optional ChainstateManager::SnapshotBlockhash() const { if (m_active_chainstate != nullptr) { // If a snapshot chainstate exists, it will always be our active.