9 #ifndef __AFW_ATOMIC_H__
10 #define __AFW_ATOMIC_H__
44 initial = InterlockedCompareExchange(mem, desired, expected);
45 return initial == expected;
47 return atomic_compare_exchange_strong(mem, &expected, desired);
67 initial = InterlockedCompareExchange64(mem, desired, expected);
68 return initial == expected;
70 return atomic_compare_exchange_strong(mem, &expected, desired);
84 return apr_atomic_dec32(mem);
100 return InterlockedDecrement64(mem);
116 return apr_atomic_inc32(mem);
131 return InterlockedIncrement64(mem);
#define AFW_BEGIN_DECLARES
Interfaceafw_interface header.
afw_integer_t afw_atomic_integer_decrement(AFW_ATOMIC afw_integer_t *mem)
Integer atomic decrement.
afw_integer_t afw_atomic_integer_increment(AFW_ATOMIC afw_integer_t *mem)
Integer atomic increment.
afw_uint32_t afw_atomic_uint32_increment(AFW_ATOMIC afw_uint32_t *mem)
32-bit atomic increment
afw_boolean_t afw_atomic_integer_cas(AFW_ATOMIC afw_integer_t *mem, afw_integer_t expected, afw_integer_t desired)
Integer atomic decrement.
afw_boolean_t afw_atomic_uint32_cas(AFW_ATOMIC afw_uint32_t *mem, afw_uint32_t expected, afw_uint32_t desired)
Integer atomic compare and swap.
afw_uint32_t afw_atomic_uint32_decrement(AFW_ATOMIC afw_uint32_t *mem)
32-bit atomic decrement
apr_uint32_t afw_uint32_t
32-bit unsigned integer.
apr_int64_t afw_integer_t
typedef for big signed int.