qb_atomic_pointer_compare_and_exchange - Man Page
Compares oldval with the pointer pointed to by atomic and if they are equal, atomically exchanges *atomic with newval.
Synopsis
#include <qb/qbatomic.h> int32_t qb_atomic_pointer_compare_and_exchange( volatile void *QB_GNUC_MAY_ALIAS *atomic, /* a pointer to a void* */ void *oldval, /* the assumed old value of *atomic */ void *newval /* the new value of *atomic*/ );
Params
atomic a pointer to a void*
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, else QB_FALSE.
See Also
qb_atomic_int_set(3), qb_atomic_int_compare_and_exchange(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_set(3)
Copyright
Copyright (C) 2003 Sebastian Wilhelmi
Referenced By
qbatomic.h(3), qb_atomic_init(3), qb_atomic_int_add(3), qb_atomic_int_compare_and_exchange(3), qb_atomic_int_exchange_and_add(3), qb_atomic_int_get(3), qb_atomic_int_set(3), qb_atomic_pointer_get(3), qb_atomic_pointer_set(3).