]> git.sur5r.net Git - openldap/commitdiff
ITS#3703 from HEAD
authorHoward Chu <hyc@openldap.org>
Fri, 13 May 2005 01:55:29 +0000 (01:55 +0000)
committerHoward Chu <hyc@openldap.org>
Fri, 13 May 2005 01:55:29 +0000 (01:55 +0000)
CHANGES
servers/slapd/back-bdb/init.c

diff --git a/CHANGES b/CHANGES
index ee99ca1d6dfa85557f3daf20204473530cb0655f..587f30882160074309b00a33c5c4793a4c590e52 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,7 @@
 OpenLDAP 2.2 Change Log
 
 OpenLDAP 2.2.27 Engineering
+       Fixed back-bdb/hdb slapcat checkpoint on close (ITS#3703)
        Fixed back-ldap/back-meta debug output of NULL strings (ITS#3698)
        Fixed back-meta sizelimit bug (ITS#3720)
        Fixed syncrepl runqueue (ITS#3542)
index 49319418b06030c09aff70460a2965498a861ca2..a6ca86f6315c5bb40d14411a3e1d5349e15cc29a 100644 (file)
@@ -433,12 +433,14 @@ bdb_db_destroy( BackendDB *be )
 
        /* close db environment */
        if( bdb->bi_dbenv ) {
-               /* force a checkpoint */
-               rc = TXN_CHECKPOINT( bdb->bi_dbenv, 0, 0, DB_FORCE );
-               if( rc != 0 ) {
-                       Debug( LDAP_DEBUG_ANY,
-                               "bdb_db_destroy: txn_checkpoint failed: %s (%d)\n",
-                               db_strerror(rc), rc, 0 );
+               /* force a checkpoint, but not if we were ReadOnly. */
+               if ( !( slapMode & SLAP_TOOL_READONLY )) {
+                       rc = TXN_CHECKPOINT( bdb->bi_dbenv, 0, 0, DB_FORCE );
+                       if( rc != 0 ) {
+                               Debug( LDAP_DEBUG_ANY,
+                                       "bdb_db_destroy: txn_checkpoint failed: %s (%d)\n",
+                                       db_strerror(rc), rc, 0 );
+                       }
                }
 
                rc = bdb->bi_dbenv->close( bdb->bi_dbenv, 0 );