From c571ecdfc4eae8aa4bfffefacb9eb9306cbc6389 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 1 Mar 2010 13:57:36 +0100 Subject: s3: Make connections_forall open connections.tdb r/w connections_forall is called from count_current_connections() which potentially deletes dead records. This needs r/w access to connections.tdb. connections_traverse says it does not provide this. Does not really matter in the smbd case, because we have opened it before r/w, so this is "just" cleanup. --- source3/lib/conn_tdb.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'source3/lib/conn_tdb.c') diff --git a/source3/lib/conn_tdb.c b/source3/lib/conn_tdb.c index a10734bed5..90e455a73e 100644 --- a/source3/lib/conn_tdb.c +++ b/source3/lib/conn_tdb.c @@ -112,12 +112,18 @@ int connections_forall(int (*fn)(struct db_record *rec, void *private_data), void *private_data) { + struct db_context *ctx; struct conn_traverse_state state; + ctx = connections_db_ctx(true); + if (ctx == NULL) { + return -1; + } + state.fn = fn; state.private_data = private_data; - return connections_traverse(conn_traverse_fn, (void *)&state); + return ctx->traverse(ctx, conn_traverse_fn, (void *)&state); } bool connections_init(bool rw) -- cgit