Manual Page Result
0
Command: aio_fsync | Section: 2 | Source: Digital UNIX | File: aio_fsync.2.gz
aio_fsync(2) System Calls Manual aio_fsync(2)
NAME
aio_fsync - Asynchronously writes changes in a file to permanent stor-
age
SYNOPSIS
#include <aio.h>
int aio_fsync ( int op, struct aiocb *aiocbp );
PARAMETERS
Specifies file or data synchronization. A pointer to an aiocb struc-
ture. This function uses only the aio_fildes and aio_sigevent fields of
the aiocbp control block.
DESCRIPTION
The aio_fsync function asynchronously causes system buffers containing
a file's modified data to be written to permanent storage. All modi-
fied data in the file indicated by the file descriptor in the
aio_fildes member of the aiocb structure referenced by the aiocbp argu-
ment is forced to the synchronized I/O completion state.
aio_fsync returns when the synchronization request has been initiated
or queued, even when data cannot be synchronized immediately.
If op is O_DSYNC, all currently queued I/O operations are completed as
if by a call to fdatasync. If op is O_SYNC, all currently queued I/O
operations are completed as if by a call to fsync. If the aio_fsync
function fails, outstanding I/O operations are not guaranteed to have
been completed.
If aio_fsync succeeds, only the I/O that was queued at the time of the
call is guaranteed to be synchronized; the completion of subsequent I/O
is not guaranteed.
The aiocbp value may be used as an argument to the aio_error and
aio_return functions to determine the error or return status of the
asynchronous operation while it is proceeding. When the request is
queued, the error status for the operation is [EINPROGRESS]. When all
data has been synchronized, the error status is set to reflect the suc-
cess or failure of the operation. The aio_sigevent member of the aiocb
structure defines the signal to be generated upon completion of the op-
eration. If aio_sigevent.sigev_notify equals SIGEV_SIGNAL and
aio_sigevent.sigev_signo is non-zero, a signal will be generated when
all operations have achieved synchronized I/O completion.
RETURN VALUES
Upon successful completion, the aio_fsync function returns a value of 0
(zero). If the aio_fsync function fails, a value of -1 is returned and
errno is set to indicate the error. If aio_fsync fails, outstanding I/O
operations are not guaranteed to have been completed.
ERRORS
If the aio_fsync function fails, errno may be set to one of the follow-
ing values:
[EAGAIN] The requested asynchronous operation was not queued due
to temporary resource limitations.
[EBADF] The aio_fildes member of the aiocb structure is not a
valid file descriptor.
[EINVAL] A value of op other than O_DSYNC or O_SYNC was speci-
fied.
If any queued I/O operations fail, the aio_fsync function returns error
conditions defined for read and write. The error is returned in the
error status for the asynchronous fsync operation, which can be re-
trieved using aio_error.
RELATED INFORMATION
Functions: fdatasync(2), fcntl(2), fsync(2), open(2), read(2), sync(2),
write(2) delim off
aio_fsync(2)