FSYNC(2) |
FreeBSD System Calls Manual |
FSYNC(2) |
NAME
fsync —
synchronise changes to a file
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include < unistd.h>
int
fsync( int fd);
DESCRIPTION
The
fsync() system call causes all modified data and attributes of
fd to be moved to a permanent storage device. This normally results in all in-core modified copies of buffers for the associated file to be written to a disk.
The fsync() system call should be used by programs that require a file to be in a known state, for example, in building a simple transaction facility.
RETURN VALUES
The
fsync() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable
errno is set to indicate the error.
ERRORS
The
fsync() fails if:
-
[
EBADF]
-
The
fd argument is not a valid descriptor.
-
[
EINVAL]
-
The
fd argument refers to a socket, not to a file.
-
[
EIO]
-
An I/O error occurred while reading from or writing to the file system.
HISTORY
The
fsync() system call appeared in
4.2BSD.