diff options
author | Fabian Jahr <fjahr@protonmail.com> | 2023-10-03 00:22:37 +0200 |
---|---|---|
committer | Fabian Jahr <fjahr@protonmail.com> | 2023-10-06 18:12:31 +0200 |
commit | a47fbe7d49e8921214ac159c558ff4ca19f98dce (patch) | |
tree | cadc331ce264d86b25fdb8ff35ed59e051492583 /src/validation.h | |
parent | 0a39b8cbd88e9a496823b36feed77d137ccd894c (diff) | |
download | bitcoin-a47fbe7d49e8921214ac159c558ff4ca19f98dce.tar.xz |
doc: Add and edit some comments around assumeutxo
Co-authored-by: Ryan Ofsky <ryan@ofsky.org>
Diffstat (limited to 'src/validation.h')
-rw-r--r-- | src/validation.h | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/validation.h b/src/validation.h index 33d97f0b20..7ce60da634 100644 --- a/src/validation.h +++ b/src/validation.h @@ -836,9 +836,10 @@ private: //! Once this pointer is set to a corresponding chainstate, it will not //! be reset until init.cpp:Shutdown(). //! - //! This is especially important when, e.g., calling ActivateBestChain() - //! on all chainstates because we are not able to hold ::cs_main going into - //! that call. + //! It is important for the pointer to not be deleted until shutdown, + //! because cs_main is not always held when the pointer is accessed, for + //! example when calling ActivateBestChain, so there's no way you could + //! prevent code from using the pointer while deleting it. std::unique_ptr<Chainstate> m_ibd_chainstate GUARDED_BY(::cs_main); //! A chainstate initialized on the basis of a UTXO snapshot. If this is @@ -847,17 +848,14 @@ private: //! Once this pointer is set to a corresponding chainstate, it will not //! be reset until init.cpp:Shutdown(). //! - //! This is especially important when, e.g., calling ActivateBestChain() - //! on all chainstates because we are not able to hold ::cs_main going into - //! that call. + //! It is important for the pointer to not be deleted until shutdown, + //! because cs_main is not always held when the pointer is accessed, for + //! example when calling ActivateBestChain, so there's no way you could + //! prevent code from using the pointer while deleting it. std::unique_ptr<Chainstate> m_snapshot_chainstate GUARDED_BY(::cs_main); //! Points to either the ibd or snapshot chainstate; indicates our //! most-work chain. - //! - //! This is especially important when, e.g., calling ActivateBestChain() - //! on all chainstates because we are not able to hold ::cs_main going into - //! that call. Chainstate* m_active_chainstate GUARDED_BY(::cs_main) {nullptr}; CBlockIndex* m_best_invalid GUARDED_BY(::cs_main){nullptr}; |