aio_fsync -
асинхронная
файловая
синхронизация
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).
Заметим,
что это
только
запрос;
функция не
ожидает
завершения
выполнения
ввода-вывода.
Кроме
aio_fildes, в
структуре
aiocbp
используется
только
поле
aio_sigevent
(структура
sigevent описана
в
sigevent(7)), в
котором
указывается
желаемый
тип
асинхронного
уведомления
по
завершению.
Все
остальные
поля
игнорируются.
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() не
реализована.
Функция
aio_fsync()
доступна в
glibc начиная с
версии 2.1.
Описание
терминов
данного
раздела
смотрите в
attributes(7).
Интерфейс |
Атрибут |
Значение |
aio_fsync() |
Безвредность
в нитях |
MT-Safe |
POSIX.1-2001, POSIX.1-2008.
aio_cancel(3),
aio_error(3),
aio_read(3),
aio_return(3),
aio_suspend(3),
aio_write(3),
lio_listio(3),
aio(7),
sigevent(7)
Русский
перевод
этой
страницы
руководства
был сделан
Dmitry Bolkhovskikh <
[email protected]> и Yuri Kozlov
<
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]