Немного лучший способ - синхронизировать только файловые системы, содержащие ваши дескрипторы, используя syncfs()
.Или даже лучше, просто используйте fsync()
.
int fd = open(...); // Open your files
write(...); // Your write calls
fsync(fd); // Sync your file
close(fd); // Close them
fsync()
может произойти сбой, если ваш дескриптор недействителенИщите errno
, если он возвращает -1
.