qb_atomic_pointer_compare_and_exchange - Compares oldval with the pointer pointed to by atomic and if
Contents
Copyright
Copyright (C) 2003 Sebastian Wilhelmi
LIBQB 2023-07-21 QB_ATOMIC_POINTER_COMPARE_AND_EXCHANGE(3)
Description
Also acts as a memory barrier.
Name
qb_atomic_pointer_compare_and_exchange - Compares oldval with the pointer pointed to by atomic and if
they are equal, atomically exchanges *atomic with newval.
Params
atomicapointertoavoid*oldvaltheassumedoldvalueof*atomicnewvalthenewvalueof*atomic
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)
Synopsis
#include<qb/qbatomic.h>int32_tqb_atomic_pointer_compare_and_exchange(
volatilevoid*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*/
);
