From: Stefan Metzmacher Date: Sat, 16 Jan 2016 09:19:23 +0000 (+0100) Subject: s3:dbwrap: add dbwrap_tdb_require_mutexes:*= option X-Git-Tag: tevent-0.9.27~44 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=719428f587702fa07b88d23ccf484dd7fd9ccc3e;p=thirdparty%2Fsamba.git s3:dbwrap: add dbwrap_tdb_require_mutexes:*= option This is similar to dbwrap_tdb_mutexes:*= (which is autodetected by default), but dbwrap_tdb_require_mutexes is off by default. Signed-off-by: Stefan Metzmacher Reviewed-by: Ralph Boehme --- diff --git a/source3/lib/dbwrap/dbwrap_open.c b/source3/lib/dbwrap/dbwrap_open.c index 59fb3e4e8da..98e4f41cb00 100644 --- a/source3/lib/dbwrap/dbwrap_open.c +++ b/source3/lib/dbwrap/dbwrap_open.c @@ -97,6 +97,7 @@ struct db_context *db_open(TALLOC_CTX *mem_ctx, if (tdb_flags & TDB_CLEAR_IF_FIRST) { const char *base; bool try_mutex = false; + bool require_mutex = false; base = strrchr_m(name, '/'); if (base != NULL) { @@ -111,6 +112,15 @@ struct db_context *db_open(TALLOC_CTX *mem_ctx, if (try_mutex && tdb_runtime_check_for_robust_mutexes()) { tdb_flags |= TDB_MUTEX_LOCKING; } + + require_mutex = lp_parm_bool(-1, "dbwrap_tdb_require_mutexes", + "*", require_mutex); + require_mutex = lp_parm_bool(-1, "dbwrap_tdb_require_mutexes", + base, require_mutex); + + if (require_mutex) { + tdb_flags |= TDB_MUTEX_LOCKING; + } } sockname = lp_ctdbd_socket();