From: Howard Chu Date: Sat, 13 Sep 2003 11:15:23 +0000 (+0000) Subject: ITS#2649, never defer Abandon requests X-Git-Tag: OPENLDAP_REL_ENG_2_1_MP~727 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=41957e5129176867336d9ed7c297054e2450a68c;p=openldap ITS#2649, never defer Abandon requests --- diff --git a/servers/slapd/connection.c b/servers/slapd/connection.c index fc693bdedb..0a71d72777 100644 --- a/servers/slapd/connection.c +++ b/servers/slapd/connection.c @@ -1522,12 +1522,14 @@ connection_input( * use up all the available threads, and don't execute if we're * currently blocked on output. And don't execute if there are * already pending ops, let them go first. + * + * But always allow Abandon through; it won't cost much. */ - if ( conn->c_conn_state == SLAP_C_BINDING + if ( tag != LDAP_REQ_ABANDON && (conn->c_conn_state == SLAP_C_BINDING || conn->c_conn_state == SLAP_C_CLOSING || conn->c_n_ops_executing >= connection_pool_max/2 || conn->c_n_ops_pending - || conn->c_writewaiter) + || conn->c_writewaiter)) { int max = conn->c_dn.bv_len ? slap_conn_max_pending_auth : slap_conn_max_pending;