]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#8472 only do index cleanup if DB is running
authorHoward Chu <hyc@openldap.org>
Fri, 25 Jan 2019 18:11:58 +0000 (18:11 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Thu, 31 Jan 2019 23:43:34 +0000 (23:43 +0000)
servers/slapd/back-mdb/config.c

index df9db5edd1e414312bd17b11a75bc0d0ae8e9a49..c404e58e782627ba0b75b55ff9e01f8347916cb3 100644 (file)
@@ -260,6 +260,7 @@ mdb_cf_cleanup( ConfigArgs *c )
        }
 
        if ( mdb->mi_flags & MDB_OPEN_INDEX ) {
+               mdb->mi_flags ^= MDB_OPEN_INDEX;
                rc = mdb_attr_dbs_open( c->be, NULL, &c->reply );
                if ( rc )
                        rc = LDAP_OTHER;
@@ -631,8 +632,8 @@ mdb_cf_gen( ConfigArgs *c )
                        c->argc - 1, &c->argv[1], &c->reply);
 
                if( rc != LDAP_SUCCESS ) return 1;
-               mdb->mi_flags |= MDB_OPEN_INDEX;
                if ( mdb->mi_flags & MDB_IS_OPEN ) {
+                       mdb->mi_flags |= MDB_OPEN_INDEX;
                        c->cleanup = mdb_cf_cleanup;
                        if ( !mdb->mi_index_task ) {
                                /* Start the task as soon as we finish here. Set a long