Important: The information in this document is obsolete and should not be used for new development.
OTCompareAndSwap32
Atomically compares two 32-bit values and changes one of these values if they are the same.C INTERFACE
Boolean OTCompareAndSwap32( UInt32 oldVal, UInt32 newVal, UInt32* where)C++ INTERFACE
None. C++ applications use the C interface to this function.PARAMETERS
oldVal- The 32-bit value being compared to the value referenced by the
whereparameter.newVal- The value to be assigned to the long-word referenced by the
whereparameter.where- A reference to the 32-bit value being compared to that specified by the
oldValparameter.- function result
- Returns
trueif the swap is done.DISCUSSION
This function compares the value specified by theoldValparameter with the value referenced by thewhereparameter. If the two values are the same, the function replaces the long-word referenced by thewhereparameter with the value specified by thenewValparameter and it returnstrue. If the two values are not the same, no swap occurs and the function returnsfalse.The entire compare and swap operation is atomic.
Use the
- WARNING
- The pointer
wheremust be on a 4-byte boundary, or calling this function may hang the machine.![]()
OTCompareAndSwapPtrfunction to compare two pointer values and set one if they are the same.Use the
OTCompareAndSwap16function to compare two 16-bit values and set one if they are the same.Use the
OTCompareAndSwap8function to compare two 8-bit values and set one if they are the same.