FSYNC(2) BSD Programmer's Manual FSYNC(2)
fsync - synchronize a file's in-core state with that on disk
Fsync() 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.
Fsync() should be used by programs that require a file to be in a known
state, for example, in building a simple transaction facility.
A 0 value is returned on success. A -1 value indicates an error.
The fsync() fails if:
[EBADF] Fd is not a valid descriptor.
[EINVAL] Fd refers to a socket, not to a file.
[EIO] An I/O error occurred while reading from or writing to the
sync(2), sync(8), update(8)
The fsync function call appeared in 4.2BSD.
4.2 Berkeley Distribution June 4, 1993 1