Spec-Zone.ru › GNU Fortran 10

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, size_t 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.

Это оператор управления изображениями, но не подразумевает синхронизации памяти. Однако все предыдущие push-коммуникации этого изображения в указанное удалённое изображение должны быть завершены до того, как 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-10.2.0/gfortran/_005fgfortran_005fcaf_005fevent_005fwait.html

Spec-Zone.ru

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