Use OSAtomicAdd instead of OSAtomicDecrement to decrement the value by 1.
authorJoshua Colp <jcolp@digium.com>
Thu, 17 Aug 2006 21:14:03 +0000 (21:14 +0000)
committerJoshua Colp <jcolp@digium.com>
Thu, 17 Aug 2006 21:14:03 +0000 (21:14 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40303 65c4cc65-6c06-0410-ace0-fbb531ad65f3

include/asterisk/lock.h

index ad7b4e4..3ffb32e 100644 (file)
@@ -789,12 +789,12 @@ AST_INLINE_API(int ast_atomic_dec_and_test(volatile int *p),
 #elif defined(HAVE_OSX_ATOMICS) && (SIZEOF_INT == 4)
 AST_INLINE_API(int ast_atomic_dec_and_test(volatile int *p),
 {
-       return OSAtomicDecrement32((int32_t *) p) == 0;
+       return OSAtomicAdd32( -1, (int32_t *) p) == 0;
 })
 #elif defined(HAVE_OSX_ATOMICS) && (SIZEOF_INT == 8)
 AST_INLINE_API(int ast_atomic_dec_and_test(volatile int *p),
 {
-       return OSAtomicDecrement64((int64_t *) p) == 0;
+       return OSAtomicAdd64( -1, (int64_t *) p) == 0;
 #else
 AST_INLINE_API(int ast_atomic_dec_and_test(volatile int *p),
 {