refine previous commits (don't leave bindings around)

This commit is contained in:
Pierangelo Masarati 2006-05-12 19:25:31 +00:00
parent c1c8c05c1b
commit 87ba3eb8b0
2 changed files with 13 additions and 1 deletions

View file

@ -571,7 +571,9 @@ retry:;
mt, mc, candidate,
LDAP_BACK_CONN_ISPRIV( mc ),
LDAP_BACK_DONTSEND );
LDAP_BACK_CONN_BINDING_SET( msc );
if ( rc == LDAP_SUCCESS ) {
LDAP_BACK_CONN_BINDING_SET( msc );
}
} else {
/* can't do anything about it */

View file

@ -1229,6 +1229,16 @@ finish:;
continue;
}
if ( mc ) {
ldap_pvt_thread_mutex_lock( &mi->mi_conninfo.lai_mutex );
if ( LDAP_BACK_CONN_BINDING( &mc->mc_conns[ i ] )
&& candidates[ i ].sr_msgid != META_MSGID_NEED_BIND )
{
LDAP_BACK_CONN_BINDING_CLEAR( &mc->mc_conns[ i ] );
}
ldap_pvt_thread_mutex_unlock( &mi->mi_conninfo.lai_mutex );
}
if ( candidates[ i ].sr_matched ) {
free( (char *)candidates[ i ].sr_matched );
candidates[ i ].sr_matched = NULL;