mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-02-18 18:18:06 -05:00
ITS#10296 lmdb: fix fdatasync on MacOS
Patch from kero, with corrections by hyc
This commit is contained in:
parent
da9aeda08c
commit
82c5609ddd
1 changed files with 5 additions and 1 deletions
|
|
@ -167,7 +167,11 @@ typedef SSIZE_T ssize_t;
|
|||
# if !(defined(MDB_USE_POSIX_MUTEX) || defined(MDB_USE_POSIX_SEM))
|
||||
# define MDB_USE_SYSV_SEM 1
|
||||
# endif
|
||||
# if defined(__APPLE__)
|
||||
# define MDB_FDATASYNC(fd) fcntl(fd, F_FULLSYNC)
|
||||
# else
|
||||
# define MDB_FDATASYNC fsync
|
||||
# endif
|
||||
#elif defined(__ANDROID__)
|
||||
# define MDB_FDATASYNC fsync
|
||||
#endif
|
||||
|
|
@ -2883,7 +2887,7 @@ mdb_env_sync0(MDB_env *env, int force, pgno_t numpgs)
|
|||
? MS_ASYNC : MS_SYNC;
|
||||
if (MDB_MSYNC(env->me_map, env->me_psize * numpgs, flags))
|
||||
rc = ErrCode();
|
||||
#ifdef _WIN32
|
||||
#if defined(_WIN32) || defined(__APPLE__)
|
||||
else if (flags == MS_SYNC && MDB_FDATASYNC(env->me_fd))
|
||||
rc = ErrCode();
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in a new issue