From f01622d5728b8381725d0a14bd60e4fe7caba2cc Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount Date: Thu, 18 Oct 2007 02:56:53 +0000 Subject: [PATCH] More for ITS#5173 --- servers/slapd/overlays/pcache.c | 6 +++++- servers/slapd/overlays/translucent.c | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) 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; } -- 2.39.5