diff options
author | Sebastian Falbesoner <sebastian.falbesoner@gmail.com> | 2021-08-28 19:51:08 +0200 |
---|---|---|
committer | Sebastian Falbesoner <sebastian.falbesoner@gmail.com> | 2021-11-24 19:19:42 +0100 |
commit | 574cc4271ab09a4c8f8d076cb1a3a2d5b3924b73 (patch) | |
tree | 58f1db991f8c3d93be532636288d832e75adeefc | |
parent | 64059b78f59e45cc4200ca76d0af8c6dff8a20d4 (diff) | |
download | bitcoin-574cc4271ab09a4c8f8d076cb1a3a2d5b3924b73.tar.xz |
refactor: remove RecursiveMutex cs_totalBytesRecv, use std::atomic instead
The RecursiveMutex cs_totalBytesRecv is only used at two places: in
CConnman::RecordBytesRecv() to increment the nTotalBytesRecv member, and in
CConnman::GetTotalBytesRecv() to read it. For this simple use-case, we can
make the member std::atomic instead to achieve the same result.
-rw-r--r-- | src/net.cpp | 2 | ||||
-rw-r--r-- | src/net.h | 3 |
2 files changed, 1 insertions, 4 deletions
diff --git a/src/net.cpp b/src/net.cpp index 1b6d16ad9b..5406e7e49d 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -2879,7 +2879,6 @@ bool CConnman::DisconnectNode(NodeId id) void CConnman::RecordBytesRecv(uint64_t bytes) { - LOCK(cs_totalBytesRecv); nTotalBytesRecv += bytes; } @@ -2956,7 +2955,6 @@ uint64_t CConnman::GetOutboundTargetBytesLeft() const uint64_t CConnman::GetTotalBytesRecv() const { - LOCK(cs_totalBytesRecv); return nTotalBytesRecv; } @@ -1074,9 +1074,8 @@ private: static bool NodeFullyConnected(const CNode* pnode); // Network usage totals - mutable RecursiveMutex cs_totalBytesRecv; mutable RecursiveMutex cs_totalBytesSent; - uint64_t nTotalBytesRecv GUARDED_BY(cs_totalBytesRecv) {0}; + std::atomic<uint64_t> nTotalBytesRecv{0}; uint64_t nTotalBytesSent GUARDED_BY(cs_totalBytesSent) {0}; // outbound limit & stats |