]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/overlays/sssvlv.c
ITS#6566
[openldap] / servers / slapd / overlays / sssvlv.c
index c70425d02e0edc090c388b7420e1ddf671c2cacb..10dde1f2498b28cd3d886960e12b86fee49a21ce 100644 (file)
@@ -471,7 +471,9 @@ range_err:
        be = op->o_bd;
        for ( i=0; i<j; i++ ) {
                sort_node *sn = cur_node->avl_data;
-               
+
+               if ( slapd_shutdown ) break;
+
                op->o_bd = select_backend( &sn->sn_dn, 0 );
                e = NULL;
                rc = be_entry_get_rw( op, &sn->sn_dn, NULL, NULL, 0, &e );
@@ -503,6 +505,8 @@ static void send_page( Operation *op, SlapReply *rs, sort_op *so )
        while ( cur_node && rs->sr_nentries < so->so_page_size ) {
                sort_node *sn = cur_node->avl_data;
 
+               if ( slapd_shutdown ) break;
+
                next_node = tavl_next( cur_node, TAVL_DIR_RIGHT );
 
                op->o_bd = select_backend( &sn->sn_dn, 0 );
@@ -1232,11 +1236,11 @@ int sssvlv_initialize()
        if ( rc == LDAP_SUCCESS ) {
                rc = overlay_register( &sssvlv );
                if ( rc != LDAP_SUCCESS ) {
-                       fprintf( stderr, "Failed to register server side sort overlay\n" );
+                       Debug( LDAP_DEBUG_ANY, "Failed to register server side sort overlay\n", 0, 0, 0 );
                }
        }
        else {
-               fprintf( stderr, "Failed to register control %d\n", rc );
+               Debug( LDAP_DEBUG_ANY, "Failed to register control %d\n", rc, 0, 0 );
        }
 
        return rc;