Win32: use a more modern API call in FileCommit()
- this seems to be a more recent API call and also supports e.g. SMB3, ReFS, which is not guaranteed for commit_() - link to MSDN: http://msdn.microsoft.com/en-us/library/windows/desktop/aa364439%28v=vs.85%29.aspx
This commit is contained in:
parent
9e508b5588
commit
4c0b2cde3a
1 changed files with 3 additions and 2 deletions
|
@ -1159,9 +1159,10 @@ bool RenameOver(boost::filesystem::path src, boost::filesystem::path dest)
|
||||||
|
|
||||||
void FileCommit(FILE *fileout)
|
void FileCommit(FILE *fileout)
|
||||||
{
|
{
|
||||||
fflush(fileout); // harmless if redundantly called
|
fflush(fileout); // harmless if redundantly called
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
_commit(_fileno(fileout));
|
HANDLE hFile = (HANDLE)_get_osfhandle(_fileno(fileout));
|
||||||
|
FlushFileBuffers(hFile);
|
||||||
#else
|
#else
|
||||||
#if defined(__linux__) || defined(__NetBSD__)
|
#if defined(__linux__) || defined(__NetBSD__)
|
||||||
fdatasync(fileno(fileout));
|
fdatasync(fileno(fileout));
|
||||||
|
|
Loading…
Reference in a new issue