|QB_ATOMIC_INT_COMPARE_AND_EXCHANGE(3)||libqb Programmer's Manual||QB_ATOMIC_INT_COMPARE_AND_EXCHANGE(3)|
NAME¶qb_atomic_int_compare_and_exchange - Compares oldval with the integer pointed to by atomic and if they are equal, atomically exchanges *atomic with newval.
#include <qb/qbatomic.h> int32_t qb_atomic_int_compare_and_exchange( volatile int32_t QB_GNUC_MAY_ALIAS *atomic, int32_t oldval, int32_t newval );
PARAMS¶atomic a pointer to an integer
oldval the assumed old value of *atomic
newval the new value of *atomic
DESCRIPTION¶Also acts as a memory barrier.
RETURN VALUE¶QB_TRUE, if *atomic was equal oldval. QB_FALSE otherwise.
SEE ALSO¶qb_atomic_int_set(3), qb_atomic_int_get(3), qb_atomic_int_add(3), qb_atomic_init(3), qb_atomic_pointer_get(3), qb_atomic_int_exchange_and_add(3), qb_atomic_pointer_compare_and_exchange(3), qb_atomic_pointer_set(3)
COPYRIGHT¶Copyright (C) 2003 Sebastian Wilhelmi