aboutsummaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
authorEvan Klitzke <evan@eklitzke.org>2018-03-15 06:54:11 -0700
committerLuke Dashjr <luke-jr+git@utopios.org>2020-08-25 16:46:45 +0000
commit844d650eea3bd809884cc5dd996a388bdc58314e (patch)
tree39848f190757cd8f6706d36206da17cc15739d32 /src/util
parentf6cec0bcaf560fa310853ad3fe17022602b63d5f (diff)
util: Prefer Mac-specific F_FULLSYNC over fdatasync in FileCommit
Diffstat (limited to 'src/util')
-rw-r--r--src/util/system.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/util/system.cpp b/src/util/system.cpp
index 2dbf13f6b5..01c588b0d3 100644
--- a/src/util/system.cpp
+++ b/src/util/system.cpp
@@ -1024,16 +1024,16 @@ bool FileCommit(FILE *file)
LogPrintf("%s: FlushFileBuffers failed: %d\n", __func__, GetLastError());
return false;
}
-#elif HAVE_FDATASYNC
- if (fdatasync(fileno(file)) != 0 && errno != EINVAL) { // Ignore EINVAL for filesystems that don't support sync
- LogPrintf("%s: fdatasync failed: %d\n", __func__, errno);
- return false;
- }
#elif defined(MAC_OSX) && defined(F_FULLFSYNC)
if (fcntl(fileno(file), F_FULLFSYNC, 0) == -1) { // Manpage says "value other than -1" is returned on success
LogPrintf("%s: fcntl F_FULLFSYNC failed: %d\n", __func__, errno);
return false;
}
+#elif HAVE_FDATASYNC
+ if (fdatasync(fileno(file)) != 0 && errno != EINVAL) { // Ignore EINVAL for filesystems that don't support sync
+ LogPrintf("%s: fdatasync failed: %d\n", __func__, errno);
+ return false;
+ }
#else
if (fsync(fileno(file)) != 0 && errno != EINVAL) {
LogPrintf("%s: fsync failed: %d\n", __func__, errno);