From 719428f587702fa07b88d23ccf484dd7fd9ccc3e Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Sat, 16 Jan 2016 10:19:23 +0100 Subject: [PATCH] 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 --- source3/lib/dbwrap/dbwrap_open.c | 10 ++++++++++ 1 file changed, 10 insertions(+) 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(); -- 2.47.3