p2p: add assertions and negative TS annotations for m_addr_local_mutex

This commit is contained in:
w0xlt 2022-01-20 17:28:37 -03:00
parent c4a31ca267
commit 93609c1dfa
2 changed files with 4 additions and 2 deletions

View File

@ -553,11 +553,13 @@ std::string ConnectionTypeAsString(ConnectionType conn_type)
CService CNode::GetAddrLocal() const CService CNode::GetAddrLocal() const
{ {
AssertLockNotHeld(m_addr_local_mutex);
LOCK(m_addr_local_mutex); LOCK(m_addr_local_mutex);
return addrLocal; return addrLocal;
} }
void CNode::SetAddrLocal(const CService& addrLocalIn) { void CNode::SetAddrLocal(const CService& addrLocalIn) {
AssertLockNotHeld(m_addr_local_mutex);
LOCK(m_addr_local_mutex); LOCK(m_addr_local_mutex);
if (addrLocal.IsValid()) { if (addrLocal.IsValid()) {
error("Addr local already set for node: %i. Refusing to change from %s to %s", id, addrLocal.ToString(), addrLocalIn.ToString()); error("Addr local already set for node: %i. Refusing to change from %s to %s", id, addrLocal.ToString(), addrLocalIn.ToString());

View File

@ -618,9 +618,9 @@ public:
return m_greatest_common_version; return m_greatest_common_version;
} }
CService GetAddrLocal() const; CService GetAddrLocal() const LOCKS_EXCLUDED(m_addr_local_mutex);
//! May not be called more than once //! May not be called more than once
void SetAddrLocal(const CService& addrLocalIn); void SetAddrLocal(const CService& addrLocalIn) LOCKS_EXCLUDED(m_addr_local_mutex);
CNode* AddRef() CNode* AddRef()
{ {