summaryrefslogtreecommitdiff
path: root/atomic/netware/apr_atomic.c
diff options
context:
space:
mode:
Diffstat (limited to 'atomic/netware/apr_atomic.c')
-rw-r--r--atomic/netware/apr_atomic.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/atomic/netware/apr_atomic.c b/atomic/netware/apr_atomic.c
index 17ffe14d5..069b1bd16 100644
--- a/atomic/netware/apr_atomic.c
+++ b/atomic/netware/apr_atomic.c
@@ -60,8 +60,7 @@ APR_DECLARE(apr_uint32_t) apr_atomic_xchg32(volatile apr_uint32_t *mem, apr_uint
APR_DECLARE(int) apr_atomic_dec32(volatile apr_uint32_t *mem)
{
- atomic_dec((unsigned long *)mem);
- return *mem;
+ return (atomic_xchgadd((unsigned long *)mem, 0xFFFFFFFF) - 1);
}
APR_DECLARE(void *) apr_atomic_casptr(volatile void **mem, void *with, const void *cmp)