]> git.sur5r.net Git - openldap/commitdiff
ITS#2649 don't defer Abandon requests
authorHoward Chu <hyc@openldap.org>
Tue, 16 Sep 2003 03:57:24 +0000 (03:57 +0000)
committerHoward Chu <hyc@openldap.org>
Tue, 16 Sep 2003 03:57:24 +0000 (03:57 +0000)
CHANGES
servers/slapd/connection.c

diff --git a/CHANGES b/CHANGES
index d6dbaf16dfd1c64e4abe7f9d475c8225667f5b21..96fc5500a60168da37df44fc171c8c178d4f9f7c 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,7 @@ OpenLDAP 2.1 Change Log
 
 OpenLDAP 2.1.23 Engineering
        Fixed ldappasswd -y handling bug (ITS#2696)
+       Fixed slapd deferring Abandon (ITS#2649)
        Added replica uri keyword (ITS#2594)
        Added replica-pidfile, replica-argsfile keywords
        Fixed portability issue in ldapsasl (ITS#2691)
index b4ff8af87ba0a3d9185d139523897b4db2052e8b..d91d42da1a98180e6be969546cbe41f3ed6c20f1 100644 (file)
@@ -1475,12 +1475,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;