This PR adds compile-time checking for negative locking requirements that follow from the run-time locking requirement AssertLockNotHeld(cs_main) in LimitValidationInterfaceQueue(...).
Changes:
- Add
LOCKS_EXCLUDED(cs_main)toLimitValidationInterfaceQueue(...)which doesAssertLockNotHeld(cs_main) - Add
LOCKS_EXCLUDED(cs_main)toCChainState::ActivateBestChain(…),CChainState:: InvalidateBlock(…)andCChainState::RewindBlockIndex(…)which all callLimitValidationInterfaceQueue(...)which doesAssertLockNotHeld(cs_main) - Add
LOCKS_EXCLUDED(cs_main)toInvalidateBlock(…)which callsCChainState::InvalidateBlock(...)which in turn callsLimitValidationInterfaceQueue(...)which doesAssertLockNotHeld(cs_main) - Add
LOCKS_EXCLUDED(cs_main)toRewindBlockIndex(…)which callsCChainState::RewindBlockIndex(...)which in turn callsLimitValidationInterfaceQueue(...)which doesAssertLockNotHeld(cs_main)