#include #include #include static void stest ( ) { int f = open ( "/tmp/synctest2", O_WRONLY | O_CREAT, 0666 ); if ( f < 0 ) perror ( "fopen" ); char s [ ] = "SYNC TEST\nSYNC TEST\n"; if ( write ( f, s, sizeof ( s ) - 1 ) < 0 ) perror ( "write" ); if ( fsync ( f ) ) perror ( "fsync" ); if ( close ( f ) ) perror ( "close" ); if ( rename ( "/tmp/synctest2", "/tmp/synctest" ) ) perror ( "rename" ); } int main ( ) { while ( true ) stest ( ); return 0; }