FSYNC(2)                         System Calls                         FSYNC(2)


       fsync - synchronize a file


       #include <unistd.h>

       int fsync (int fd);


       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.


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


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


       The fsync function call appeared in 4.2BSD.

GNO                             22 January 1997                       FSYNC(2)

Man(1) output converted with man2html