Spec-Zone.ru › GNU Fortran 13

8.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-13.3.0/gfortran/EVENT_005fQUERY.html

Spec-Zone.ru

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