Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
FSYNC(2)		    BSD	System Calls Manual		      FSYNC(2)

NAME
     fsync -- synchronize a file's in-core state with that on disk

SYNOPSIS
     #include <unistd.h>

     int
     fsync(int fd);

DESCRIPTION
     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.

IMPLEMENTATION NOTES
     In	the non-threaded library fsync() is implemented	as the fsync syscall.

     In	the threaded library, the fsync	syscall	is assembled to
     _thread_sys_fsync() and fsync() is	implemented as a function which	locks
     fd	for read and write, then calls _thread_sys_fsync().  Before returning,
     fsync() unlocks fd.

RETURN VALUES
     A 0 value is returned on success.	A -1 value indicates an	error.

ERRORS
     The fsync() fails if:

     [EBADF]		is not a valid descriptor.

     [EINVAL]		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), update(4), sync(8)

HISTORY
     The fsync() function call appeared	in 4.2BSD.

4.2 Berkeley Distribution	 June 4, 1993	     4.2 Berkeley Distribution

NAME | SYNOPSIS | DESCRIPTION | IMPLEMENTATION NOTES | RETURN VALUES | ERRORS | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=fsync&sektion=2&manpath=FreeBSD+3.2-RELEASE>

home | help