Function ctru_sys::syncArbitrateAddress
source · pub unsafe extern "C" fn syncArbitrateAddress(
addr: *mut s32,
type_: ArbitrationType,
value: s32
) -> Result
Expand description
Function used to implement user-mode synchronization primitives.
§Arguments
addr
- Pointer to a signed 32-bit value whose address will be used to identify waiting threads.type
- Type of action to be performed by the arbitervalue
- Number of threads to signal if using ARBITRATION_SIGNAL, or the value used for comparison.
This will perform an arbitration based on #type. The comparisons are done between #value and the value at the address #addr.
s32 val=0; // Does nothing since val >= 0 syncArbitrateAddress(&val,ARBITRATION_WAIT_IF_LESS_THAN,0);
Note: Usage of this function entails an implicit Data Memory Barrier (dmb).