Atomic routines.
Definition in file rs_atomic.rsh.
Atomic add a value to the value at addr. addr[0] += value
addr | Address of value to modify |
value | Amount to add to the value at addr |
Atomic add a value to the value at addr. addr[0] += value
addr | Address of value to modify |
value | Amount to add to the value at addr |
Atomic Bitwise and a value from the value at addr. addr[0] &= value
addr | Address of value to modify |
value | Amount to and with the value at addr |
Atomic Bitwise and a value from the value at addr. addr[0] &= value
addr | Address of value to modify |
value | Amount to and with the value at addr |
Compare-and-set operation with a full memory barrier.
If the value at addr matches compareValue then newValue is written.
addr | The address to compare and replace if the compare passes. |
compareValue | The value to test addr[0] against. |
newValue | The value to write if the test passes. |
Compare-and-set operation with a full memory barrier.
If the value at addr matches compareValue then newValue is written.
addr | The address to compare and replace if the compare passes. |
compareValue | The value to test addr[0] against. |
newValue | The value to write if the test passes. |
Atomic subtract one from the value at addr. Equal to rsAtomicSub(addr, 1)
addr | Address of value to decrement |
Atomic subtract one from the value at addr. Equal to rsAtomicSub(addr, 1)
addr | Address of value to decrement |
Atomic add one to the value at addr. Equal to rsAtomicAdd(addr, 1)
addr | Address of value to increment |
Atomic add one to the value at addr. Equal to rsAtomicAdd(addr, 1)
addr | Address of value to increment |
Atomic Set the value at addr to the max of addr and value addr[0] = rsMax(addr[0], value)
addr | Address of value to modify |
value | comparison value |
Atomic Set the value at addr to the max of addr and value addr[0] = rsMin(addr[0], value)
addr | Address of value to modify |
value | comparison value |
Atomic Set the value at addr to the min of addr and value addr[0] = rsMin(addr[0], value)
addr | Address of value to modify |
value | comparison value |
Atomic Set the value at addr to the min of addr and value addr[0] = rsMin(addr[0], value)
addr | Address of value to modify |
value | comparison value |
Atomic Bitwise or a value from the value at addr. addr[0] |= value
addr | Address of value to modify |
value | Amount to or with the value at addr |
Atomic Bitwise or a value from the value at addr. addr[0] |= value
addr | Address of value to modify |
value | Amount to or with the value at addr |
Atomic Subtract a value from the value at addr. addr[0] -= value
addr | Address of value to modify |
value | Amount to subtract from the value at addr |
Atomic Subtract a value from the value at addr. addr[0] -= value
addr | Address of value to modify |
value | Amount to subtract from the value at addr |
Atomic Bitwise xor a value from the value at addr. addr[0] ^= value
addr | Address of value to modify |
value | Amount to xor with the value at addr |