diff options
Diffstat (limited to 'source3/lib/messages_local.c')
-rw-r--r-- | source3/lib/messages_local.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/source3/lib/messages_local.c b/source3/lib/messages_local.c index acc5ba6e7d..295646a3a0 100644 --- a/source3/lib/messages_local.c +++ b/source3/lib/messages_local.c @@ -92,6 +92,7 @@ NTSTATUS messaging_tdb_init(struct messaging_context *msg_ctx, struct messaging_tdb_context *ctx; struct loadparm_context *lp_ctx; static bool have_context = false; + const char *fname; if (have_context) { DEBUG(0, ("No two messaging contexts per process\n")); @@ -122,9 +123,14 @@ NTSTATUS messaging_tdb_init(struct messaging_context *msg_ctx, ctx->msg_ctx = msg_ctx; ctx->have_context = &have_context; - ctx->tdb = tdb_wrap_open(ctx, lock_path("messages.tdb"), 0, - TDB_CLEAR_IF_FIRST|TDB_DEFAULT|TDB_VOLATILE|TDB_INCOMPATIBLE_HASH, - O_RDWR|O_CREAT,0600, lp_ctx); + fname = lock_path("messages.tdb"); + + ctx->tdb = tdb_wrap_open_( + ctx, fname, lpcfg_tdb_hash_size(lp_ctx, fname), + lpcfg_tdb_flags(lp_ctx, TDB_CLEAR_IF_FIRST|TDB_DEFAULT| + TDB_VOLATILE| TDB_INCOMPATIBLE_HASH), + O_RDWR|O_CREAT,0600); + talloc_unlink(result, lp_ctx); if (!ctx->tdb) { |