From: Howard Chu Date: Sun, 5 Dec 2004 07:07:50 +0000 (+0000) Subject: Make sure db_close only gets called once X-Git-Tag: OPENLDAP_REL_ENG_2_3_0ALPHA~128 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=25334fec4ed4ffe93625cf8e94e545788e1fbcb8;p=openldap Make sure db_close only gets called once --- 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;