SYNC(2)

NOME
sync - svuota i buffer della cache del disco

SINTASSI
#include <unistd.h>

void sync(void);

int syncfs(int fd);

Macro per test di funzionalità per glibc (vedere feature_test_macros(7)):

sync():
    _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

syncfs():
    _GNU_SOURCE

DESCRIZIONE
sync() provoca la scrittura nei filesystem sottostanti di tutte le modifiche ai metadati e ai dati del file che si trovano nel buffer. syncfs() è come sync(), ma sincronizza solo il filesystem contenente il file a cui si riferisce il descrittore di file aperto fd.

VALORE RESTITUITO
syncfs() ritorna 0 in caso di successo; in caso di errore, ritorna -1 e imposta errno in modo che indichi l'errore.

ERRORI
sync() termina sempre con successo. syncfs() può fallire per almeno il motivo seguente:

EBADF
    fd non è un descrittore di file valido.

VERSIONI
syncfs() è apparso per la prima volta in Linux 2.6.39; il supporto alla libreria è stato aggiunto a glibc nella versione version 2.14.

CONFORME A
sync(): SVr4, 4.3BSD, POSIX.1-2001. syncfs() è specifico di Linux.

NOTE
A partire da glibc 2.2.2 il prototipo Linux per sync() è come elencato sopra, seguendo i vari standard. In libc4, libc5, e glibc 2.2.1 e precedenti era "int sync(void)", e sync() restituiva sempre 0.

BUG
Secondo le specifiche degli standard (per esempio, POSIX.1-2001), sync() pianifica le scritture, ma potrebbe ritornare prima che la scrittura sia stata realmente effettuata. Tuttavia, a partire dalla versione 1.3.20 di Linux, essa aspetta. (Questo ancora non garantisce l'integrità dei dati: i dischi moderni hanno grandi cache).

VEDERE ANCHE
bdflush(2), fdatasync(2), fsync(2), sync(8)

COLOPHON
Questa pagina fa parte del rilascio 4.00 del progetto Linux man-pages. Una descrizione del progetto, le istruzioni per la segnalazione degli errori, e l'ultima versione di questa pagina si trova su http://www.kernel.org/doc/man-pages/. La versione italiana fa parte del pacchetto man-pages-it v. 4.00, a cura di: ILDP "Italian Linux Documentation Project" http://www.pluto.it/ildp
Per la traduzione in italiano si può fare riferimento a http://www.pluto.it/ildp/collaborare/
Segnalare eventuali errori di traduzione a ildp@pluto.it