/* The operation has already been abandoned or finished */
goto unlock;
}
+ if ( c->c_state == SLAP_C_BINDING ) {
+ c->c_state = SLAP_C_READY;
+ }
c->c_n_ops_executing--;
b = (Backend *)c->c_private;
CONNECTION_UNLOCK_INCREF(c);
/* Caller should hold a reference on client */
CONNECTION_LOCK(c);
+ if ( c->c_state == SLAP_C_BINDING ) {
+ c->c_state = SLAP_C_READY;
+ }
op->o_client_refcnt--;
operation_destroy_from_client( op );
CONNECTION_UNLOCK(c);
c->c_connid, op->o_client_msgid, slap_msgtype2str( request->o_tag ),
needle.o_client_msgid );
+ if ( c->c_state == SLAP_C_BINDING ) {
+ /* We have found the request and we are binding, it must be a bind
+ * request */
+ assert( request->o_tag == LDAP_REQ_BIND );
+ c->c_state = SLAP_C_READY;
+ }
+
CONNECTION_UNLOCK_INCREF(c);
operation_abandon( request );
CONNECTION_LOCK_DECREF(c);
CONNECTION_LOCK_DECREF(c);
op->o_upstream_refcnt--;
if ( !client || !op->o_upstream_refcnt ) {
+ if ( c->c_state == SLAP_C_BINDING ) {
+ c->c_state = SLAP_C_READY;
+ }
operation_destroy_from_upstream( op );
}
} else {