Zen API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kBool kAtomicPointer_CompareExchange ( kAtomicPointer atomic,
kPointer  oldValue,
kPointer  value 
)

Conditionally exchanges the value of an atomic variable.

If the atomic value is equal to the oldValue argument, then it is replaced by the value argument.

This method is thread-safe. Implements a full memory barrier.

Parameters
atomicPointer to atomic variable.
oldValuePrevious atomic value.
valueNew atomic value.
Returns
Previous atomic value.