diff options
-rw-r--r-- | src/index/base.cpp | 4 | ||||
-rw-r--r-- | src/index/base.h | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/index/base.cpp b/src/index/base.cpp index 2368189da2..1ebe89ef7c 100644 --- a/src/index/base.cpp +++ b/src/index/base.cpp @@ -85,6 +85,10 @@ bool BaseIndex::Init() } else { SetBestBlockIndex(m_chainstate->FindForkInGlobalIndex(locator)); } + + // Note: this will latch to true immediately if the user starts up with an empty + // datadir and an index enabled. If this is the case, indexation will happen solely + // via `BlockConnected` signals until, possibly, the next restart. m_synced = m_best_block_index.load() == active_chain.Tip(); if (!m_synced) { bool prune_violation = false; diff --git a/src/index/base.h b/src/index/base.h index 77c46dd428..5a484377e7 100644 --- a/src/index/base.h +++ b/src/index/base.h @@ -55,6 +55,10 @@ private: /// Whether the index is in sync with the main chain. The flag is flipped /// from false to true once, after which point this starts processing /// ValidationInterface notifications to stay in sync. + /// + /// Note that this will latch to true *immediately* upon startup if + /// `m_chainstate->m_chain` is empty, which will be the case upon startup + /// with an empty datadir if, e.g., `-txindex=1` is specified. std::atomic<bool> m_synced{false}; /// The last block in the chain that the index is in sync with. |