Next: BACKTRACE, Previous: ATOMIC_DEFINE, Up: Intrinsic Procedures [Contents][Index]

### 8.25 `ATOMIC_REF` — Obtaining the value of a variable atomically

Description:

  `ATOMIC_DEFINE(ATOM, VALUE)` atomically assigns the value of the variable ATOM to VALUE.

Standard:

  Fortran 2008 and later

Class:

  Atomic subroutine

Syntax:

  `CALL ATOMIC_REF(VALUE, ATOM)`

Arguments:

  VALURE | Scalar and of the same type as ATOM. If the kind is different, the value is converted to the kind of ATOM.
  ATOM | Scalar coarray or coindexed variable of either integer type with `ATOMIC_INT_KIND` kind or logical type with `ATOMIC_LOGICAL_KIND` kind.

Example:

      program atomic
        use iso_fortran_env
        logical(atomic_logical_kind) :: atom[*]
        logical :: val
        call atomic_ref (atom, .false.)
        ! ...
        call atomic_ref (atom, val)
        if (val) then
          print *, "Obtained"
        end if
      end program atomic

See also:

  ATOMIC_DEFINE, ISO_FORTRAN_ENV