diff options
Diffstat (limited to 'source4/lib/db_wrap.c')
-rw-r--r-- | source4/lib/db_wrap.c | 37 |
1 files changed, 1 insertions, 36 deletions
diff --git a/source4/lib/db_wrap.c b/source4/lib/db_wrap.c index 57055462ff..8698e9affd 100644 --- a/source4/lib/db_wrap.c +++ b/source4/lib/db_wrap.c @@ -33,14 +33,6 @@ #include "lib/ldb/include/ldb.h" #include "db_wrap.h" -struct ldb_wrap { - struct ldb_context *ldb; - - const char *url; - struct ldb_wrap *next, *prev; -}; - -static struct ldb_wrap *ldb_list; static struct tdb_wrap *tdb_list; /* @@ -62,14 +54,6 @@ static void ldb_wrap_debug(void *context, enum ldb_debug_level level, free(s); } -/* destroy the last connection to a ldb */ -static int ldb_wrap_destructor(void *ctx) -{ - struct ldb_wrap *w = ctx; - DLIST_REMOVE(ldb_list, w); - return 0; -} - /* wrapped connection to a ldb database to close just talloc_free() the returned ldb_context @@ -80,18 +64,11 @@ struct ldb_context *ldb_wrap_connect(TALLOC_CTX *mem_ctx, const char *options[]) { struct ldb_context *ldb; - struct ldb_wrap *w; int ret; struct event_context *ev; char *real_url = NULL; - for (w = ldb_list; w; w = w->next) { - if (strcmp(url, w->url) == 0) { - return talloc_reference(mem_ctx, w->ldb); - } - } - - ldb = ldb_init(talloc_autofree_context()); + ldb = ldb_init(mem_ctx); if (ldb == NULL) { return NULL; } @@ -126,20 +103,8 @@ struct ldb_context *ldb_wrap_connect(TALLOC_CTX *mem_ctx, talloc_free(real_url); - w = talloc(ldb, struct ldb_wrap); - if (w == NULL) { - talloc_free(ldb); - return NULL; - } - - w->ldb = ldb; - w->url = talloc_strdup(w, url); - - talloc_set_destructor(w, ldb_wrap_destructor); ldb_set_debug(ldb, ldb_wrap_debug, NULL); - DLIST_ADD(ldb_list, w); - return ldb; } |