]> git.sur5r.net Git - openldap/commitdiff
ITS#2392 - move cache_commit inside transaction. needs lock protection,
authorHoward Chu <hyc@openldap.org>
Tue, 25 Mar 2003 17:49:35 +0000 (17:49 +0000)
committerHoward Chu <hyc@openldap.org>
Tue, 25 Mar 2003 17:49:35 +0000 (17:49 +0000)
and the lock goes away after txn_commit. Not sure what to do about the
cache if txn_commit actually fails though. Since txn_prepare succeeded,
should never happen. ???

servers/slapd/back-bdb/modrdn.c

index 8bf93888d22b3fd5de9c7d5d0caad59250c8bdea..f2f2b8c8518d91ffea003e9b120a1069ad3fae7a 100644 (file)
@@ -859,6 +859,7 @@ retry:      /* transaction retry */
                                }
 
                        } else {
+                               bdb_cache_entry_commit( e );
                                if(( rc=TXN_COMMIT( ltid, 0 )) != 0 ) {
                                        text = "txn_commit failed";
                                } else {
@@ -882,10 +883,6 @@ retry:     /* transaction retry */
                        op->o_noop ? " (no-op)" : "", e->e_id, e->e_dn );
 #endif
                text = NULL;
-               if ( !noop ) {
-                       bdb_cache_entry_commit( e );
-               }
-
        } else {
 #ifdef NEW_LOGGING
                LDAP_LOG ( OPERATION, RESULTS, "bdb_modrdn: %s : %s (%d)\n",