FSYNC(2)                         System Calls                         FSYNC(2)




NAME

       fsync - synchronize a file


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  modi‐
       fied 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.

       This call is only needed in special circumstances, as when several dae‐
       mons are all modifying the same file simultaneously (currently impossi‐
       ble with existing IIgs filesystems).  This call is basically a FlushGS.


RETURN VALUES

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


ERRORS

       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 file system.


SEE ALSO

       sync(2), sync(8), update(8), the GS/OS Reference Manual.


HISTORY

       The fsync function call appeared in 4.2BSD.



GNO                             22 January 1997                       FSYNC(2)

Man(1) output converted with man2html