mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-10 22:18:54 +01:00
validation: only call UpdatedBlockTip for active chainstate
This notification isn't needed for background chainstates. `kernel::Notifications::blockTip` are also skipped.
This commit is contained in:
@@ -3263,7 +3263,7 @@ bool Chainstate::ActivateBestChain(BlockValidationState& state, std::shared_ptr<
|
|||||||
|
|
||||||
// Notify external listeners about the new tip.
|
// Notify external listeners about the new tip.
|
||||||
// Enqueue while holding cs_main to ensure that UpdatedBlockTip is called in the order in which blocks are connected
|
// Enqueue while holding cs_main to ensure that UpdatedBlockTip is called in the order in which blocks are connected
|
||||||
if (pindexFork != pindexNewTip) {
|
if (this == &m_chainman.ActiveChainstate() && pindexFork != pindexNewTip) {
|
||||||
// Notify ValidationInterface subscribers
|
// Notify ValidationInterface subscribers
|
||||||
GetMainSignals().UpdatedBlockTip(pindexNewTip, pindexFork, still_in_ibd);
|
GetMainSignals().UpdatedBlockTip(pindexNewTip, pindexFork, still_in_ibd);
|
||||||
|
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ protected:
|
|||||||
* but may not be called on every intermediate tip. If the latter behavior is desired,
|
* but may not be called on every intermediate tip. If the latter behavior is desired,
|
||||||
* subscribe to BlockConnected() instead.
|
* subscribe to BlockConnected() instead.
|
||||||
*
|
*
|
||||||
* Called on a background thread.
|
* Called on a background thread. Only called for the active chainstate.
|
||||||
*/
|
*/
|
||||||
virtual void UpdatedBlockTip(const CBlockIndex *pindexNew, const CBlockIndex *pindexFork, bool fInitialDownload) {}
|
virtual void UpdatedBlockTip(const CBlockIndex *pindexNew, const CBlockIndex *pindexFork, bool fInitialDownload) {}
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user