BlockManager
is a large data structure, and cs_main
is not required to take its address or access every part of it. Individual BlockManager
fields and methods which do require cs_main
like m_block_index
and LookupBlockIndex
are already annotated separately, and these other annotations describe locking requirements more accurately and do a better job enforcing thread safety.
Since cs_main
is not needed to access the address of the m_block object, this commit drops cs_main
LOCK calls which were added pointlessly to satisfy this annotation in the past.
Code changes were made by dongcarl, I just wrote the commit description