FSYNC(2)
HOME ||
NAME
LIBRARY
SYNOPSIS
DESCRIPTION
RETURN VALUES
ERRORS
SEE ALSO
HISTORY
fsync -- synchronise changes to a file
Standard C Library (libc, -lc)
#include <unistd.h>
int
fsync(int fd);
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 facil-
ity.
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.
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.
sync(2), syncer(4), sync(8)
The fsync() system call appeared in 4.2BSD.