]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-bdb/modrdn.c
Changes from HEAD, including
[openldap] / servers / slapd / back-bdb / modrdn.c
index ed817dedb8072cbb008e94ab40458543b115928a..749f6571deefbf33906fd52d3e7475a4218ae1e9 100644 (file)
@@ -1017,8 +1017,13 @@ retry:   /* transaction retry */
                }
 
        } else {
-               bdb_cache_modrdn( save, &op->orr_nnewrdn, e, neip,
+               rc = bdb_cache_modrdn( save, &op->orr_nnewrdn, e, neip,
                        bdb->bi_dbenv, locker, &lock );
+               switch( rc ) {
+               case DB_LOCK_DEADLOCK:
+               case DB_LOCK_NOTGRANTED:
+                       goto retry;
+               }
 
                if ( LDAP_STAILQ_EMPTY( &op->o_bd->be_syncinfo )) {
                        if ( ctxcsn_added ) {