From: Casey Bodley Date: Thu, 4 Sep 2014 15:10:46 +0000 (-0400) Subject: atomic: add and sub return their result X-Git-Tag: v0.93~265^2~26 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a39cbe2b6fdba2db0964c24bf315ee1020ffe6eb;p=ceph.git atomic: add and sub return their result Signed-off-by: Casey Bodley Signed-off-by: Matt Benjamin --- diff --git a/src/include/atomic.h b/src/include/atomic.h index c1650bef51ae..960123e6e367 100644 --- a/src/include/atomic.h +++ b/src/include/atomic.h @@ -100,12 +100,12 @@ namespace ceph { AO_t dec() { return AO_fetch_and_sub1_write(&val) - 1; } - void add(AO_t add_me) { - AO_fetch_and_add(&val, add_me); + AO_t add(AO_t add_me) { + return AO_fetch_and_add(&val, add_me) + add_me; } - void sub(AO_t sub_me) { + AO_t sub(AO_t sub_me) { AO_t negsub = 0 - sub_me; - AO_fetch_and_add_write(&val, (AO_t)negsub); + return AO_fetch_and_add_write(&val, negsub) + negsub; } AO_t read() const { // cast away const on the pointer. this is only needed to build