]> git.sur5r.net Git - openldap/commitdiff
ITS#5835 tentative fix - remove bogus call to connection_close().
authorHoward Chu <hyc@openldap.org>
Tue, 13 Jan 2009 00:03:23 +0000 (00:03 +0000)
committerHoward Chu <hyc@openldap.org>
Tue, 13 Jan 2009 00:03:23 +0000 (00:03 +0000)
Note that with this change, all calls to connection_closing() and
connection_close() always occur in pairs - probably the two
functions should be collapsed into one.

servers/slapd/connection.c

index 98a2432c5fffd8ba926cf9c457a1ccecbbcf1e1a..e15a84339b151734be4ae24b8f66555af9052f86 100644 (file)
@@ -1132,10 +1132,13 @@ operations_error:
                /* c_mutex is locked */
                connection_closing( conn,
                        tag == LDAP_REQ_UNBIND ? NULL : "operations error" );
+               connection_close( conn );
+               break;
+       default:
+               connection_resched( conn );
                break;
        }
 
-       connection_resched( conn );
        ldap_pvt_thread_mutex_unlock( &conn->c_mutex );
        slap_op_free( op, ctx );
        return NULL;
@@ -1633,10 +1636,6 @@ connection_resched( Connection *conn )
                return 0;
 
        if( conn->c_conn_state == SLAP_C_CLOSING ) {
-               Debug( LDAP_DEBUG_CONNS, "connection_resched: "
-                       "attempting closing conn=%lu sd=%d\n",
-                       conn->c_connid, conn->c_sd, 0 );
-               connection_close( conn );
                return 0;
        }