Provided by: freebsd-manpages_9.2+1-1_all bug

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.

SEE ALSO

     sync(2), syncer(4), sync(8)

HISTORY

     The fsync() system call appeared in 4.2BSD.