summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2018-02-12 18:51:14 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2018-02-12 18:51:14 +0900
commit431fcde29a5361adc916f2bd095c1f337663af19 (patch)
tree7d045b17c88d42955ce2f3b229bc71ebdd8637c7 /src
parent307d8e779eeac0c3f18ad99dec9371731eb31f68 (diff)
BufferedFile: Flush content on close
Diffstat (limited to 'src')
-rw-r--r--src/BufferedFile.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/BufferedFile.cc b/src/BufferedFile.cc
index 267fe3f3..0f9a97b6 100644
--- a/src/BufferedFile.cc
+++ b/src/BufferedFile.cc
@@ -80,6 +80,12 @@ int BufferedFile::onClose()
{
int rv = 0;
if (fp_) {
+ fflush(fp_);
+#ifndef __MINGW32__
+ fsync(fileno(fp_));
+#else // __MINGW32__
+ _commit(fileno(fp_));
+#endif // __MINGW32__
rv = fclose(fp_);
fp_ = nullptr;
}