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. Возможная реализация — цикл ожидания с определенным числом циклов (возможно, зависящим от соотношения числа потоков к числу доступных ядер) за которым следует другая стратегия ожидания, например, ожидание со сна (возможно, с увеличивающимся временем сна) или, если возможно, ожидание 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-8.4.0/gfortran/_005fgfortran_005fcaf_005fevent_005fwait.html