Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

       aio_suspend - ожидает завершения операции ввода-вывода или истечения срока

БИБЛИОТЕКА

       Библиотека реального времени (librt, -lrt)

ОБЗОР

       #include <aio.h>

       int aio_suspend(const struct aiocb *const aiocb_list[], int nitems,
                       const struct timespec *restrict timeout);

ОПИСАНИЕ

       Функция  aio_suspend()  приостанавливает выполнение вызывающей нити до тех пор, пока не случиться одно из
       следующих событий:

       •  Завершится один или более асинхронных запросов ввода-вывода из списка aiocb_list.

       •  Будет получен сигнал.

       •  Если значение timeout не NULL и  истечёт  указанный  срок  (описание  структуры  timespec  смотрите  в
          nanosleep(2)).

       В  аргументе nitems задаётся количество элементов в aiocb_list. Каждый элемент в списке, который задаётся
       в aiocb_list, должен быть равен NULL (игнорируется), или указывать на управляющий блок, который создаётся
       при создании операции ввода-вывода  с  помощью  aio_read(3),  aio_write(3)  или  lio_listio(3)  (описание
       структуры aiocb смотрите в aio(7)).

       If   CLOCK_MONOTONIC   is   supported,   this  clock  is  used  to  measure  the  timeout  interval  (see
       clock_gettime(2)).

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       Если функция завершается после выполнения запроса ввода-вывода из списка aiocb_list, то возвращается 0. В
       противном случае возвращается -1, а значением errno определяется тип ошибки.

ОШИБКИ

       EAGAIN Истёк период ожидания в вызове до завершения какой-либо операции.

       EINTR  Вызов завершён по сигналу  (возможно  по  сигналу,  который  ожидался  как  завершение  операции);
              смотрите signal(7).

       ENOSYS Функция aio_suspend() не реализована.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌─────────────────────────────────────────────────────────────────────┬──────────────────────┬──────────┐
       │ ИнтерфейсАтрибутЗначение │
       ├─────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────┤
       │ aio_suspend()                                                       │ Безвредность в нитях │ MT-Safe  │
       └─────────────────────────────────────────────────────────────────────┴──────────────────────┴──────────┘

СТАНДАРТЫ

       POSIX.1-2008.

ИСТОРИЯ

       glibc 2.1.  POSIX.1-2001.

       POSIX doesn't specify the parameters to be restrict; that is specific to glibc.

ПРИМЕЧАНИЯ

       Можно выполнить опрос с не NULL значением timeout, указав нулевой временной интервал.

       Если  одна  или  несколько  асинхронных операций ввода-вывода, указанных в aiocb_list, уже завершилась на
       момент вызова aio_suspend(), то вызов сразу завершает работу.

       Чтобы после успешного возврата из aio_suspend()  определить,  какие  операции  ввода-вывода  завершились,
       используйте aio_error(3) для проверки списка структур aiocb, на который указывает aiocb_list.

ОШИБКИ

       Реализация aio_suspend() в glibc не является безопасной для асинхронных сигналов, что нарушает требования
       POSIX.1.

СМОТРИТЕ ТАКЖЕ

       aio_cancel(3),  aio_error(3),  aio_fsync(3),  aio_read(3),  aio_return(3),  aio_write(3),  lio_listio(3),
       aio(7), time(7)

ПЕРЕВОД

       Русский перевод этой страницы руководства разработал(и) Dmitry Bolkhovskikh  <d20052005@yandex.ru>,  Yuri
       Kozlov <yuray@komyakino.ru> и Kirill Rekhov <krekhov.dev@gmail.com>

       Этот  перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html  версии  3  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам)  по  его(их)  адресу(ам)  электронной  почты  или  по   адресу   списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                   aio_suspend(3)