From 25334fec4ed4ffe93625cf8e94e545788e1fbcb8 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Sun, 5 Dec 2004 07:07:50 +0000 Subject: [PATCH] Make sure db_close only gets called once --- servers/slapd/overlays/glue.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/servers/slapd/overlays/glue.c b/servers/slapd/overlays/glue.c index a2fb18fe14..c40c95109b 100644 --- a/servers/slapd/overlays/glue.c +++ b/servers/slapd/overlays/glue.c @@ -678,6 +678,21 @@ glue_db_open ( return 0; } +static int +glue_db_close( + BackendDB *be +) +{ + slap_overinst *on = (slap_overinst *)be->bd_info; + int rc = 0; + + if ( on->on_info->oi_orig->bi_db_close ) { + rc = on->on_info->oi_orig->bi_db_close( be ); + on->on_info->oi_orig->bi_db_close = NULL; + } + return rc; +} + static int glue_db_config( BackendDB *be, @@ -741,6 +756,7 @@ glue_init() glue.on_bi.bi_db_init = glue_db_init; glue.on_bi.bi_db_config = glue_db_config; glue.on_bi.bi_db_open = glue_db_open; + glue.on_bi.bi_db_close = glue_db_close; glue.on_bi.bi_db_destroy = glue_db_destroy; glue.on_bi.bi_op_search = glue_op_search; -- 2.39.5