Name | Synopsis | Description | Return Values | Errors | Attributes | See Also
cc [ flag... ] file... -lrt [ library... ] #include <unistd.h> int fdatasync(int fildes);
The fdatasync() function forces all currently queued I/O operations associated with the file indicated by file descriptor fildes to the synchronized I/O completion state.
The functionality is as described for fsync(3C) (with the symbol _XOPEN_REALTIME defined), with the exception that all I/O operations are completed as defined for synchronised I/O data integrity completion.
If successful, the fdatasync() function returns 0. Otherwise, the function returns -1 and sets errno to indicate the error. If the fdatasync() function fails, outstanding I/O operations are not guaranteed to have been completed.
The fdatasync() function will fail if:
The fildes argument is not a valid file descriptor open for writing.
The system does not support synchronized I/O for this file.
The function fdatasync() is not supported by the system.
In the event that any of the queued I/O operations fail, fdatasync() returns the error conditions defined for read(2) and write(2).
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE |
ATTRIBUTE VALUE |
---|---|
Interface Stability |
Standard |
MT-Level |
Async-Signal-Safe |
fcntl(2), open(2), read(2), write(2), fsync(3C), aio_fsync(3RT), fcntl.h(3HEAD), attributes(5), standards(5)
Name | Synopsis | Description | Return Values | Errors | Attributes | See Also