From: Howard Chu Date: Mon, 29 Nov 2004 00:02:56 +0000 (+0000) Subject: Import ITS#3365 fix from HEAD X-Git-Tag: OPENLDAP_REL_ENG_2_2_20~27 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=b51d3a0496b7b08f79a1c23cf01f4fa97c01445b;p=openldap Import ITS#3365 fix from HEAD --- diff --git a/servers/slapd/backend.c b/servers/slapd/backend.c index 026c620f61..bbf1405a59 100644 --- a/servers/slapd/backend.c +++ b/servers/slapd/backend.c @@ -1336,10 +1336,15 @@ backend_group( Filter *filter; Entry *user; Backend *b2 = op->o_bd; + void *o_private = op->o_private; if ( target && dn_match( &target->e_nname, op_ndn ) ) { user = target; } else { + /* back-bdb stored lockinfo here, we saved it + * above. Clear it out so that a new lock can be used. + */ + op->o_private = NULL; op->o_bd = select_backend( op_ndn, 0, 0 ); rc = be_entry_get_rw(op, op_ndn, NULL, NULL, 0, &user ); } @@ -1404,6 +1409,8 @@ loopit: } if ( user != target ) { be_entry_release_r( op, user ); + /* restore previous lockinfo, if any */ + op->o_private = o_private; } } op->o_bd = b2;