pub unsafe extern "C" fn syncArbitrateAddress(
addr: *mut s32,
type_: ArbitrationType,
value: s32,
) -> ResultExpand 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).