4.2BSD/usr/man/man2/fsync.2

Compare this file to the similar file:
Show the results in this format:

.TH FSYNC 2 "12 February 1983"
.UC 4
.SH NAME
fsync \- synchronize a file's in-core state with that on disk
.SH SYNOPSIS
.ft B
fsync(fd)
.br
int fd;
.ft R
.SH DESCRIPTION
.I Fsync
causes all modified data and attributes of \fIfd\fP
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.
.PP
.I Fsync
should be used by programs which require a file to be
in a known state; for example in building a simple transaction
facility.
.SH "RETURN VALUE
A 0 value is returned on success.  A \-1 value indicates
an error.
.SH "ERRORS
The \fIfsync\fP fails if:
.TP 15
[EBADF]
\fIFd\fP is not a valid descriptor.
.TP 15
[EINVAL]
\fIFd\fP refers to a socket, not to a file.
.SH "SEE ALSO"
sync(2), sync(8), update(8)
.SH BUGS
The current implementation of this call is expensive for large files.