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.

Debian                                            June 4, 1993                                          FSYNC(2)