aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorw0xlt <94266259+w0xlt@users.noreply.github.com>2022-01-20 17:28:37 -0300
committerw0xlt <94266259+w0xlt@users.noreply.github.com>2022-01-20 17:34:48 -0300
commit93609c1dfad70961697d0d12bf01cd34b8ceb6c8 (patch)
treeb40da82b94689ad5089af8ddf365fd7347716596 /src
parentc4a31ca267f74bff76a43878177d05d22825a203 (diff)
downloadbitcoin-93609c1dfad70961697d0d12bf01cd34b8ceb6c8.tar.xz
p2p: add assertions and negative TS annotations for m_addr_local_mutex
Diffstat (limited to 'src')
-rw-r--r--src/net.cpp2
-rw-r--r--src/net.h4
2 files changed, 4 insertions, 2 deletions
diff --git a/src/net.cpp b/src/net.cpp
index 88ccc8817c..0e243f4224 100644
--- a/src/net.cpp
+++ b/src/net.cpp
@@ -553,11 +553,13 @@ std::string ConnectionTypeAsString(ConnectionType conn_type)
CService CNode::GetAddrLocal() const
{
+ AssertLockNotHeld(m_addr_local_mutex);
LOCK(m_addr_local_mutex);
return addrLocal;
}
void CNode::SetAddrLocal(const CService& addrLocalIn) {
+ AssertLockNotHeld(m_addr_local_mutex);
LOCK(m_addr_local_mutex);
if (addrLocal.IsValid()) {
error("Addr local already set for node: %i. Refusing to change from %s to %s", id, addrLocal.ToString(), addrLocalIn.ToString());
diff --git a/src/net.h b/src/net.h
index 77acb610c3..e8534f8197 100644
--- a/src/net.h
+++ b/src/net.h
@@ -618,9 +618,9 @@ public:
return m_greatest_common_version;
}
- CService GetAddrLocal() const;
+ CService GetAddrLocal() const LOCKS_EXCLUDED(m_addr_local_mutex);
//! 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()
{