aio_fsync(3)

НАИМЕНОВАНИЕ
aio_fsync - асинхронная файловая синхронизация

БИБЛИОТЕКА
Библиотека реального времени (librt, -lrt)

ОБЗОР
#include <aio.h>

int aio_fsync(int op, struct aiocb *aiocbp);

ОПИСАНИЕ
Функция aio_fsync() выполняет синхронизацию всех ожидающих выполнения асинхронных операций ввода-вывода, связанных с aiocbp->aio_fildes (описание структуры aiocb смотрите в aio(7)).

Более точно, если значение op равно O_SYNC, то все операции ввода-вывода в очереди будут выполнены, как если бы сработал вызов fsync(2), а если op равно O_DSYNC, то данная функция является асинхронным аналогом fdatasync(2).

Заметим, что это только запрос; функция не ожидает завершения выполнения ввода-вывода.

Apart from aio_fildes, the only field in the structure pointed to by aiocbp that is used by this call is the aio_sigevent field (a sigevent structure, described in sigevent(3type)), which indicates the desired type of asynchronous notification at completion. All other fields are ignored.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
On success (the sync request was successfully queued) this function returns 0. On error, -1 is returned, and errno is set to indicate the error.

ОШИБКИ

EAGAIN
    Не хватает ресурсов.

EBADF
    Значение aio_fildes не является правильным файловым дескриптором, открытым для записи.

EINVAL
    Синхронизированный ввод-вывод не поддерживается для этого файла, или значение op не равно O_SYNC или O_DSYNC.

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

АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение
aio_fsync() | Безвредность в нитях | MT-Safe

СТАНДАРТЫ
POSIX.1-2008.

ИСТОРИЯ
glibc 2.1. POSIX.1-2001.

СМОТРИТЕ ТАКЖЕ
aio_cancel(3), aio_error(3), aio_read(3), aio_return(3), aio_suspend(3), aio_write(3), lio_listio(3), aio(7), sigevent(3type)

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

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