SYNC(2)

ИМЯ
sync - записывает буферный кэш на диск

ОБЗОР
#include <unistd.h>

void sync(void);

ОПИСАНИЕ
sync сперва записывает индексные дескрипторы (inode) в буферы и затем буферы на диск.

ОШИБКИ
Данная функция всегда выполняется без ошибок.

СООТВЕТСТВИЕ СТАНДАРТАМ
SVr4, SVID, X/OPEN, BSD 4.3

БАГИ
В соответствии со стандартной спецификацией (например SVID), функция sync() выполняет запись, но возврат из неё может произойти перед тем как запись будет фактически завершена. Однако, начиная с версии 1.3.30, Linux выполняет ожидание окончания записи. (Это впрочем не гарантирует целостность данных: современные диски имеют свои собственные большие кэши).

ЗАМЕЧАНИЯ
Начиная с glibc 2.2.2 прототип функции в Linux такой как показано выше. В libc4, libc5, и glibc до версии 2.2.1, он выглядит как "int sync(void)" и sync всегда возвращает 0.

СМОТРИ ТАКЖЕ
bdflush(2), fsync(2), fdatasync(2), update(8), sync(8)

ПЕРЕВОД
Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2004

ПЕРЕВОД
Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2004