Move CNode::addrLocal access behind locked accessors

This commit is contained in:
Matt Corallo
2017-02-06 12:18:51 -05:00
parent 036073bf87
commit db2dc7a58c
3 changed files with 29 additions and 7 deletions

View File

@@ -590,7 +590,6 @@ public:
const int64_t nTimeConnected;
std::atomic<int64_t> nTimeOffset;
const CAddress addr;
CService addrLocal;
std::atomic<int> nVersion;
// strSubVer is whatever byte array we read from the wire. However, this field is intended
// to be printed out, displayed to humans in various forms and so on. So we sanitize it and
@@ -698,6 +697,9 @@ private:
mutable CCriticalSection cs_addrName;
std::string addrName;
CService addrLocal;
mutable CCriticalSection cs_addrLocal;
public:
NodeId GetId() const {
@@ -731,6 +733,10 @@ public:
void SetSendVersion(int nVersionIn);
int GetSendVersion() const;
CService GetAddrLocal() const;
//! May not be called more than once
void SetAddrLocal(const CService& addrLocalIn);
CNode* AddRef()
{
nRefCount++;