mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-03-13 14:27:59 +08:00
msync should default to fully synchronous
This commit is contained in:
parent
1c733bdc4e
commit
2e677bcb99
@ -1478,7 +1478,7 @@ mdb_env_sync(MDB_env *env, int force)
|
||||
int rc = 0;
|
||||
if (force || !F_ISSET(env->me_flags, MDB_NOSYNC)) {
|
||||
if (env->me_flags & MDB_WRITEMAP) {
|
||||
int flags = (env->me_flags & MDB_MAPSYNC) ? MS_SYNC : MS_ASYNC;
|
||||
int flags = (env->me_flags & MDB_MAPASYNC) ? MS_ASYNC : MS_SYNC;
|
||||
if (MDB_MSYNC(env->me_map, env->me_mapsize, flags))
|
||||
rc = ErrCode();
|
||||
#ifdef _WIN32
|
||||
@ -2383,7 +2383,7 @@ mdb_env_write_meta(MDB_txn *txn)
|
||||
mp->mm_last_pg = txn->mt_next_pgno - 1;
|
||||
mp->mm_txnid = txn->mt_txnid;
|
||||
if (!(env->me_flags & (MDB_NOMETASYNC|MDB_NOSYNC))) {
|
||||
rc = (env->me_flags & MDB_MAPSYNC) ? MS_SYNC : MS_ASYNC;
|
||||
rc = (env->me_flags & MDB_MAPASYNC) ? MS_ASYNC : MS_SYNC;
|
||||
ptr = env->me_map;
|
||||
if (toggle)
|
||||
ptr += env->me_psize;
|
||||
|
@ -163,8 +163,8 @@ typedef void (MDB_rel_func)(MDB_val *item, void *oldptr, void *newptr, void *rel
|
||||
#define MDB_NOMETASYNC 0x40000
|
||||
/** use writable mmap */
|
||||
#define MDB_WRITEMAP 0x80000
|
||||
/** use synchronous msync */
|
||||
#define MDB_MAPSYNC 0x100000
|
||||
/** use asynchronous msync */
|
||||
#define MDB_MAPASYNC 0x100000
|
||||
/** @} */
|
||||
|
||||
/** @defgroup mdb_open Database Flags
|
||||
|
Loading…
x
Reference in New Issue
Block a user