8.2.13 _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 Индекс массива; первый индекс массива равен 0. Для скаляров он всегда равен 0. until_count Число событий, которые должны быть доступны перед возвратом функции. stat intent(out) Сохраняет значение STAT=; может быть NULL. errmsg intent(out) В случае ошибки устанавливает сообщение об ошибке; может быть NULL. errmsg_len размер буфера errmsg. - ПРИМЕЧАНИЯ
-
Эта функция работает только с локальным комассивом. Она действует как цикл, атомарно проверяющий значение переменной события, прерываясь, если значение больше или равно запрашиваемому числу. Перед возвратом функции переменная события должна быть декрементирована на запрошенное значение until_count. Возможная реализация — цикл ожидания для определенного числа вращений (возможно, зависящего от количества потоков относительно количества доступных ядер) с последующей стратегией ожидания, например, с ожиданием приостановки (возможно, с увеличением времени сна) или, если это возможно, с ожиданием futex.
Выражение является выражением управления изображением, но не подразумевает синхронизацию памяти. Тем не менее, все предыдущие коммуникации push для этого изображения изображений, которые выполнили
event_push, должны быть завершены перед возвратом этой функции.
Следующее: _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-6.4.0/gfortran/_005fgfortran_005fcaf_005fevent_005fwait.html