FSYNC(2)						      BSD 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. SEE ALSO
sync(2), syncer(4), sync(8) HISTORY
The fsync() system call appeared in 4.2BSD. BSD
June 4, 1993 BSD