diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-08-11 15:40:59 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-08-11 15:40:59 +0200 |
commit | 4a21c10c51e23222376867b5a022d3592a4e79a0 (patch) | |
tree | 17fd6756c8c3f68bdaea80c42c8ac59770e53bc1 /fnet/src | |
parent | c521ef714c7054c5a5c0d2e6b72f0cd6d34ec2e5 (diff) |
Use explicit fetch_xxx instead of --/++ to signal costly operations.
Diffstat (limited to 'fnet/src')
-rw-r--r-- | fnet/src/vespa/fnet/frt/rpcrequest.cpp | 5 | ||||
-rw-r--r-- | fnet/src/vespa/fnet/frt/target.h | 2 |
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; |