]> git.sur5r.net Git - openldap/commitdiff
ITS#2649, never defer Abandon requests
authorHoward Chu <hyc@openldap.org>
Sat, 13 Sep 2003 11:15:23 +0000 (11:15 +0000)
committerHoward Chu <hyc@openldap.org>
Sat, 13 Sep 2003 11:15:23 +0000 (11:15 +0000)
servers/slapd/connection.c

index fc693bdedbb9dac96ab844ade978bb5653b3330e..0a71d72777ccb6859df1236ae208646f4639062d 100644 (file)
@@ -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;