Scroll to navigation

aio_fsync(3) Library Functions Manual aio_fsync(3)

ИМЯ

aio_fsync - асинхронная файловая синхронизация

LIBRARY

Real-time library (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.

ОШИБКИ

Не хватает ресурсов.
Значение aio_fildes не является правильным файловым дескриптором, открытым для записи.
Синхронизированный ввод-вывод не поддерживается для этого файла, или значение op не равно O_SYNC или O_DSYNC.
Функция 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>

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

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

2 мая 2024 г. Linux man-pages 6.8