From: Quanah Gibson-Mount Date: Thu, 18 Oct 2007 02:56:53 +0000 (+0000) Subject: More for ITS#5173 X-Git-Tag: OPENLDAP_REL_ENG_2_4_6~25 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=f01622d5728b8381725d0a14bd60e4fe7caba2cc;p=openldap More for ITS#5173 --- diff --git a/servers/slapd/overlays/pcache.c b/servers/slapd/overlays/pcache.c index a8698248ef..6ece33365c 100644 --- a/servers/slapd/overlays/pcache.c +++ b/servers/slapd/overlays/pcache.c @@ -2647,7 +2647,11 @@ pc_ldadd( CfEntryInfo *p, Entry *e, ConfigArgs *ca ) on = (slap_overinst *)p->ce_bi; cm = on->on_bi.bi_private; ca->be = &cm->db; - ca->cleanup = pc_ldadd_cleanup; + /* Defer open if this is an LDAPadd */ + if ( CONFIG_ONLINE_ADD( ca )) + ca->cleanup = pc_ldadd_cleanup; + else + cm->defer_db_open = 0; ca->private = on; return LDAP_SUCCESS; } diff --git a/servers/slapd/overlays/translucent.c b/servers/slapd/overlays/translucent.c index 1b33da5c24..d53f2ffe0b 100644 --- a/servers/slapd/overlays/translucent.c +++ b/servers/slapd/overlays/translucent.c @@ -109,7 +109,11 @@ translucent_ldadd( CfEntryInfo *cei, Entry *e, ConfigArgs *ca ) ov = on->on_bi.bi_private; ca->be = &ov->db; ca->private = on; - ca->cleanup = translucent_ldadd_cleanup; + if ( CONFIG_ONLINE_ADD( ca )) + ca->cleanup = translucent_ldadd_cleanup; + else + ov->defer_db_open = 0; + return LDAP_SUCCESS; }