The GNU Fortran Compiler: EVENT_QUERY

Next: EXECUTE_COMMAND_LINE, Previous: ETIME, Up: Intrinsic Procedures [Contents][Index]

### 8.99 `EVENT_QUERY` — Query whether a coarray event has occurred

Description:

  `EVENT_QUERY` assignes the number of events to COUNT which have been posted to the EVENT variable and not yet been removed by calling `EVENT WAIT`. When STAT is present and the invocation was successful, it is assigned the value 0. If it is present and the invocation has failed, it is assigned a positive value and COUNT is assigned the value -1.

Standard:

  TS 18508 or later

Class:

  subroutine

Syntax:

  `CALL EVENT_QUERY (EVENT, COUNT [, STAT])`

Arguments:

  EVENT | (intent(IN)) Scalar of type `EVENT_TYPE`, defined in `ISO_FORTRAN_ENV`; shall not be coindexed.
  COUNT | (intent(out))Scalar integer with at least the precision of default integer.
  STAT | (optional) Scalar default-kind integer variable.

Example:

      program atomic
        use iso_fortran_env
        implicit none
        type(event_type) :: event_value_has_been_set[*]
        integer :: cnt
        if (this_image() == 1) then
          call event_query (event_value_has_been_set, cnt)
          if (cnt > 0) write(*,*) "Value has been set"
        elseif (this_image() == 2) then
          event post (event_value_has_been_set[1])
        end if
      end program atomic