logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

qb_atomic_pointer_compare_and_exchange - Compares oldval with the pointer pointed to by atomic and if

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*/
       );

See Also