Next: , Previous: _gfortran_caf_atomic_ref, Up: Function ABI Documentation

8.2.22 _gfortran_caf_atomic_cas — Atomic compare and swap

Atomic compare and swap of a kind-4 integer or logical variable. Assigns atomically the specified value to the atomic variable, if the latter has the value specified by the passed condition value.
void _gfortran_caf_atomic_cas (caf_token_t token, size_t offset, int image_index, void *old, void *compare, void *new_val, int *stat, int type, int kind)

token intent(in) An opaque pointer identifying the coarray.
offset By which amount of bytes the actual data is shifted compared to the base address of the coarray.
image_index The ID of the remote image; must be a positive number; zero indicates the current image when used noncoindexed.
old intent(out) the value which the atomic variable had just before the cas operation.
compare intent(in) The value used for comparision.
new_val intent(in) The new value for the atomic variable, assigned to the atomic variable, if compare equals the value of the atomic variable.
stat intent(out) Stores the status STAT= and may be NULL.
type the data type, i.e. BT_INTEGER (1) or BT_LOGICAL (2).
kind The kind value (only 4; always int)