## 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 ~~~~~~~~~~~~~~~~~~~ {: lang=fortran } 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 ~~~~~~~~~~~~~~~~~~~ {: lang=fortran } 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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ category: intrinsics