]> git.sur5r.net Git - openldap/commitdiff
Quit send loops if slapd is shutting down
authorHoward Chu <hyc@openldap.org>
Fri, 21 May 2010 17:47:17 +0000 (17:47 +0000)
committerHoward Chu <hyc@openldap.org>
Fri, 21 May 2010 17:47:17 +0000 (17:47 +0000)
servers/slapd/overlays/sssvlv.c

index c70425d02e0edc090c388b7420e1ddf671c2cacb..a024db2cc0bb585675475464e8d5cb28dd97a0eb 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 );