Commit f7399405 authored by Howard Chu's avatar Howard Chu
Browse files

Add MDB_NORDLOCK to omit all reader table usage

Calling app wants to manage its own locking.
parent e3f6c152
......@@ -269,6 +269,8 @@ typedef void (MDB_rel_func)(MDB_val *item, void *oldptr, void *newptr, void *rel
#define MDB_MAPASYNC 0x100000
/** tie reader locktable slots to #MDB_txn objects instead of to threads */
#define MDB_NOTLS 0x200000
/** don't use reader locktable at all, caller must manage read/write concurrency */
#define MDB_NORDLOCK 0x400000
/** @} */
/** @defgroup mdb_dbi_open Database Flags
......
......@@ -3983,7 +3983,7 @@ mdb_env_open(MDB_env *env, const char *path, unsigned int flags, mdb_mode_t mode
goto leave;
}
if (F_ISSET(flags, MDB_RDONLY)) {
if ((flags & (MDB_RDONLY|MDB_NORDLOCK)) == MDB_RDONLY) {
rc = mdb_env_setup_locks(env, lpath, mode, &excl);
if (rc)
goto leave;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment