Spec-Zone.ru › GNU Fortran 7

8.2.20 _gfortran_caf_event_wait — Ожидание наступления события

Описание:

Ожидание, пока счётчик событий достигнет значения, по крайней мере, заданного значения until_count; если это так, атомарно уменьшает переменную события на это значение и возвращает результат.

Синтаксис:

void _gfortran_caf_event_wait (caf_token_t token, size_t index, int until_count, int *stat, char *errmsg, int errmsg_len)

Аргументы:
token intent(in) Непрозрачный указатель, идентифицирующий комассив.
index intent(in) Индекс массива; индекс первого элемента массива равен 0. Для скаляров он всегда равен 0.
until_count intent(in) Количество событий, которые должны быть доступны перед возвратом функции.
stat intent(out) Хранит значение STAT=, может быть NULL.
errmsg intent(out) В случае ошибки устанавливает сообщение об ошибке; может быть NULL.
errmsg_len intent(in) Размер буфера errmsg.
ПРИМЕЧАНИЯ

Эта функция работает только с локальным комассивом. Она действует как цикл, атомарно проверяющий значение переменной события, прерывая цикл, если значение больше или равно запрошенному количеству. Перед возвратом функции переменная события должна быть уменьшена на запрошенное значение until_count. Возможной реализацией является цикл ожидания (busy loop) на определённое количество вращений (возможно, зависящее от отношения числа потоков к числу доступных ядер), за которым следует другая стратегия ожидания, такая как ожидание с засыпанием (возможно, с увеличением времени ожидания) или, при возможности, ожидание с помощью futex.

Это оператор управления изображением, но не подразумевает синхронизацию памяти. Тем не менее, все предыдущие коммуникации отправки этого изображения в указанное удалённое изображение должны быть завершены до того, как event_wait на удалённом изображении вернётся.

Далее: _gfortran_caf_event_query, Предыдущее: _gfortran_caf_event_post, Вверх: Документация ABI функций [Содержание][Индекс]

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

Spec-Zone.ru

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