Системное программирование в UNIX средствами Free Pascal



         

Описание


uses stdio;

procedure sync;

function fsync(filedes:integer):integer;

Важное отличие между этими двумя вызовами состоит в том, что вызов fsync не завершается до тех пор, пока все данные не будут записаны на диск. Вызов sync может завершиться, но запись данных при этом может быть не завершена, а только занесена в планировщик (более того, в некоторых реализациях вызов sync может быть ненужным и не иметь эффекта).

Функция sync не возвращает значения. Функция fsync будет возвращать нулевое значение в случае успеха и -1 – в случае ошибки. Вызов fsync может завершиться неудачей, если, например, переменная filedes содержит некорректный дескриптор файла.

Чтобы убедиться, что содержимое файловых систем на диске не слишком надолго отстает от времени, в системе UNIX регулярно производится вызов sync. Обычно период запуска sync равен 30 секундам, хотя этот параметр может изменяться системным администратором.




Содержание  Назад  Вперед