Spec-Zone.ru › GNU Fortran 11

9.99 EVENT_QUERY — Запрос о том, произошла ли комассивная обработка события

Описание:

EVENT_QUERY присваивает значение переменной COUNT количество событий, размещённых в переменной EVENT и ещё не удалённых с помощью вызова EVENT WAIT. Если STAT присутствует и вызов успешен, ему присваивается значение 0. Если он присутствует и вызов неудачен, ему присваивается положительное значение, а COUNT присваивается значение -1.

Стандарт:

TS 18508 или более поздние версии

Класс:

подпрограмма

Синтаксис:

CALL EVENT_QUERY (EVENT, COUNT [, STAT])

Аргументы:
EVENT (intent(IN)) Скаляр типа EVENT_TYPE, определённый в ISO_FORTRAN_ENV; не должен быть коиндексирован.
COUNT (intent(out)) Скалярный целочисленный тип с точностью не менее стандартного целого.
STAT (необязательно) Скалярная переменная целого типа по умолчанию.
Пример:
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

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gfortran/EVENT_005fQUERY.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API