fix deadlock in case of bind error; propagate error as appropriate

This commit is contained in:
Pierangelo Masarati 2006-12-02 17:09:20 +00:00
parent 41c4afb331
commit c89d0db64f

View File

@ -271,7 +271,7 @@ other:;
LDAP_BACK_CONN_BINDING_CLEAR( msc );
if ( META_BACK_ONERR_STOP( mi ) ) {
LDAP_BACK_CONN_TAINTED_SET( mc );
meta_back_release_conn( op, mc );
meta_back_release_conn_lock( op, mc, 0 );
*mcp = NULL;
retcode = META_SEARCH_ERR;
@ -323,9 +323,10 @@ meta_search_dobind_result(
if ( rc != LDAP_SUCCESS ) {
if ( META_BACK_ONERR_STOP( mi ) ) {
LDAP_BACK_CONN_TAINTED_SET( mc );
meta_back_release_conn( op, mc );
meta_back_release_conn_lock( op, mc, 0 );
*mcp = NULL;
retcode = META_SEARCH_ERR;
rs->sr_err = rc;
} else if ( META_BACK_ONERR_REPORT( mi ) ) {
candidates[ candidate ].sr_err = rc;