Home

8.2.30 _gfortran_caf_atomic_cas — Atomic compare and swap

Description:

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.

Syntax:

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)

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