SYNC(2)

NAME
sync - synchronize disk block in-core status with that on disk

LIBRARY
libc

SYNOPSIS
#include <unistd.h>
void
sync(void);

DESCRIPTION
The sync() function forces a write of dirty (modified) buffers in the block buffer cache out to disk. The kernel keeps this information in core to reduce the number of disk I/O transfers required by the system. As information in the cache is lost after a system crash, kernel thread ioflush ensures that dirty buffers are synced to disk eventually. By default, a dirty buffer is synced after 30 seconds, but some filesystems exploit ioflush features to sync directory data and metadata faster (after 15 and 10 seconds, respectively).

The function fsync(2) may be used to synchronize individual file descriptor attributes.

SEE ALSO
fsync(2), sync(8)

BUGS
sync() may return before the buffers are completely flushed.

HISTORY
A sync() function call appeared in AT&T UNIX.