aio_return()

Вернуть статус завершения асинхронной операции ввода/вывода

Прототип:

#include <aio.h>
ssize_t aio_return( struct aiocb *aiocbptr );

Аргументы:

aiocbptr
Указатель на управляющий блок асинхронного ввода/вывода типа struct aiocb, который возвращает статус завершения.

Библиотека:

libc

Описание:

Функция aio_return() возвращает статус завершения, связанный со структурой struct aiocb, на которую указывает аргумент aiocbptr. Статус завершения для асинхронной операции ввода/вывода – значение, которое возвращается соответствующей операцией read(), write() или fsync().

Функцию aio_return() можно вызвать только раз для получения статуса завершения асинхронной операции; при использовании одного и того же управляющего блока struct aiocb при вызове aio_return() или aio_error() может произойти ошибка.

Возвращаемое значение:

Значение, возвращаемое соответствующей операцией read(), write() или fsync().

Коды ошибок:

EINVAL
Аргумент aiocbptr не ссылается на асинхронную операцию, чей статус завершения еще не получен.

Классификация:

POSIX 1003.1 Asynchronous Input/Output

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Предостережения:

При первом вызове функций aio_*() создается пул потоков, что делает процесс многопоточным, если он не был таковым. Пул потоков не уничтожится до тех пор, пока процесс не завершится.

Тематические ссылки:

aio_cancel(), aio_error(), aio_fsync(), aio_read(), aio_suspend(), aio_write(), struct aiocb, fsync(), read(), write(),




Предыдущий раздел: Описание API системной библиотеки