Browse Source
Merge pull request #6462 from Morph1984/proper-flush
common: fs: file: Flush the file to the disk when Flush() is called
pull/15/merge
bunnei
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
5 additions and
1 deletions
-
src/common/fs/file.cpp
|
|
|
@ -309,7 +309,11 @@ bool IOFile::Flush() const { |
|
|
|
|
|
|
|
errno = 0; |
|
|
|
|
|
|
|
const auto flush_result = std::fflush(file) == 0; |
|
|
|
#ifdef _WIN32
|
|
|
|
const auto flush_result = std::fflush(file) == 0 && _commit(fileno(file)) == 0; |
|
|
|
#else
|
|
|
|
const auto flush_result = std::fflush(file) == 0 && fsync(fileno(file)) == 0; |
|
|
|
#endif
|
|
|
|
|
|
|
|
if (!flush_result) { |
|
|
|
const auto ec = std::error_code{errno, std::generic_category()}; |
|
|
|
|