aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGavin Andresen <gavinandresen@gmail.com>2013-08-20 15:35:05 -0700
committerGavin Andresen <gavinandresen@gmail.com>2013-08-20 15:35:05 -0700
commit3337481a4be33e74d97a35a9d3794f55c06c0e8c (patch)
treebf3b1a021dfd52f378ffc7352ae0b9ec7f5c1bc5
parentaf6a02a99bd767035f0096dc7c339a7b502319c3 (diff)
parentb28d8b423bddc860c5858a9df2982ce825835350 (diff)
Merge pull request #2916 from sipa/leveldb-osxfsync
Import OSX fsync change from LevelDB subtree
-rw-r--r--src/leveldb/port/port_posix.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/leveldb/port/port_posix.h b/src/leveldb/port/port_posix.h
index f2b89bffb9..21c845e211 100644
--- a/src/leveldb/port/port_posix.h
+++ b/src/leveldb/port/port_posix.h
@@ -62,12 +62,16 @@
#define fflush_unlocked fflush
#endif
-#if defined(OS_MACOSX) || defined(OS_FREEBSD) ||\
+#if defined(OS_FREEBSD) ||\
defined(OS_OPENBSD) || defined(OS_DRAGONFLYBSD)
// Use fsync() on platforms without fdatasync()
#define fdatasync fsync
#endif
+#if defined(OS_MACOSX)
+#define fdatasync(fd) fcntl(fd, F_FULLFSYNC, 0)
+#endif
+
#if defined(OS_ANDROID) && __ANDROID_API__ < 9
// fdatasync() was only introduced in API level 9 on Android. Use fsync()
// when targetting older platforms.