Merge leveldb subtree change.
* On Mac OS X fsync does not guarantee write to disk. Use fcntl F_FULLFSYNC instead.
This commit is contained in:
commit
b28d8b423b
1 changed files with 5 additions and 1 deletions
|
@ -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…
Reference in a new issue