|
|
|
@ -600,19 +600,19 @@ bool TryCreateDirectory(const boost::filesystem::path& p)
@@ -600,19 +600,19 @@ bool TryCreateDirectory(const boost::filesystem::path& p)
|
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void FileCommit(FILE *fileout) |
|
|
|
|
void FileCommit(FILE *file) |
|
|
|
|
{ |
|
|
|
|
fflush(fileout); // harmless if redundantly called
|
|
|
|
|
fflush(file); // harmless if redundantly called
|
|
|
|
|
#ifdef WIN32 |
|
|
|
|
HANDLE hFile = (HANDLE)_get_osfhandle(_fileno(fileout)); |
|
|
|
|
HANDLE hFile = (HANDLE)_get_osfhandle(_fileno(file)); |
|
|
|
|
FlushFileBuffers(hFile); |
|
|
|
|
#else |
|
|
|
|
#if defined(__linux__) || defined(__NetBSD__) |
|
|
|
|
fdatasync(fileno(fileout)); |
|
|
|
|
fdatasync(fileno(file)); |
|
|
|
|
#elif defined(__APPLE__) && defined(F_FULLFSYNC) |
|
|
|
|
fcntl(fileno(fileout), F_FULLFSYNC, 0); |
|
|
|
|
fcntl(fileno(file), F_FULLFSYNC, 0); |
|
|
|
|
#else |
|
|
|
|
fsync(fileno(fileout)); |
|
|
|
|
fsync(fileno(file)); |
|
|
|
|
#endif |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|