summaryrefslogtreecommitdiffstats
path: root/fnet
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-08-11 15:40:59 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2017-08-11 15:40:59 +0200
commit4a21c10c51e23222376867b5a022d3592a4e79a0 (patch)
tree17fd6756c8c3f68bdaea80c42c8ac59770e53bc1 /fnet
parentc521ef714c7054c5a5c0d2e6b72f0cd6d34ec2e5 (diff)
Use explicit fetch_xxx instead of --/++ to signal costly operations.
Diffstat (limited to 'fnet')
-rw-r--r--fnet/src/vespa/fnet/frt/rpcrequest.cpp5
-rw-r--r--fnet/src/vespa/fnet/frt/target.h2
2 files changed, 4 insertions, 3 deletions
diff --git a/fnet/src/vespa/fnet/frt/rpcrequest.cpp b/fnet/src/vespa/fnet/frt/rpcrequest.cpp
index 9553a967413..6214970f2fa 100644
--- a/fnet/src/vespa/fnet/frt/rpcrequest.cpp
+++ b/fnet/src/vespa/fnet/frt/rpcrequest.cpp
@@ -128,8 +128,9 @@ FRT_RPCRequest::Recycle()
void
FRT_RPCRequest::SubRef()
{
- assert(_refcnt > 0);
- if (_refcnt.fetch_sub(1) == 1) {
+ int oldVal = _refcnt.fetch_sub(1);
+ assert(oldVal > 1);
+ if (oldVal == 1) {
Reset();
delete this;
}
diff --git a/fnet/src/vespa/fnet/frt/target.h b/fnet/src/vespa/fnet/frt/target.h
index 00834417122..d00f906e982 100644
--- a/fnet/src/vespa/fnet/frt/target.h
+++ b/fnet/src/vespa/fnet/frt/target.h
@@ -29,7 +29,7 @@ public:
FNET_Connection *GetConnection() const { return _conn; }
- void AddRef() { _refcnt++; }
+ void AddRef() { _refcnt.fetch_add(1); }
void SubRef() {
if (_refcnt.fetch_sub(1) == 1) {
delete this;