Browse Source

Merge leveldb subtree change.

* On Mac OS X fsync does not guarantee write to disk. Use fcntl F_FULLFSYNC instead.
0.10
Pieter Wuille 12 years ago
parent
commit
b28d8b423b
  1. 6
      src/leveldb/port/port_posix.h

6
src/leveldb/port/port_posix.h

@ -62,12 +62,16 @@
#define fflush_unlocked fflush #define fflush_unlocked fflush
#endif #endif
#if defined(OS_MACOSX) || defined(OS_FREEBSD) ||\ #if defined(OS_FREEBSD) ||\
defined(OS_OPENBSD) || defined(OS_DRAGONFLYBSD) defined(OS_OPENBSD) || defined(OS_DRAGONFLYBSD)
// Use fsync() on platforms without fdatasync() // Use fsync() on platforms without fdatasync()
#define fdatasync fsync #define fdatasync fsync
#endif #endif
#if defined(OS_MACOSX)
#define fdatasync(fd) fcntl(fd, F_FULLFSYNC, 0)
#endif
#if defined(OS_ANDROID) && __ANDROID_API__ < 9 #if defined(OS_ANDROID) && __ANDROID_API__ < 9
// fdatasync() was only introduced in API level 9 on Android. Use fsync() // fdatasync() was only introduced in API level 9 on Android. Use fsync()
// when targetting older platforms. // when targetting older platforms.

Loading…
Cancel
Save