Man page - aio_suspend(3)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

aio_suspend

НАИМЕНОВАНИЕ
БИБЛИОТЕКА
ОБЗОР
ОПИСАНИЕ
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
ОШИБКИ
АТРИБУТЫ
СТАНДАРТЫ
ИСТОРИЯ
ПРИМЕЧАНИЯ
ОШИБКИ
СМОТРИТЕ ТАКЖЕ
ПЕРЕВОД

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

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).

Image grohtml-620541-1.png

СТАНДАРТЫ

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 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

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