]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-bdb/add.c
Cancel exop updates
[openldap] / servers / slapd / back-bdb / add.c
index 286c44f864e638731176995a4744a76858578b09..3e85b1a7ad04343114f135f79f7bdbb99f916e54 100644 (file)
@@ -1,7 +1,7 @@
 /* add.c - ldap BerkeleyDB back-end add routine */
 /* $OpenLDAP$ */
 /*
- * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  */
 
@@ -34,7 +34,7 @@ bdb_add(
 #ifdef BDB_SUBENTRIES
        int subentry;
 #endif
-       u_int32_t       locker;
+       u_int32_t       locker = 0;
        DB_LOCK         lock;
 #if 0
        u_int32_t       lockid;
@@ -42,7 +42,7 @@ bdb_add(
 #endif
        int             noop = 0;
 
-#ifdef LDAP_CLIENT_UPDATE
+#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
        Operation* ps_list;
 #endif
 
@@ -132,6 +132,7 @@ retry:      /* transaction retry */
 
        opinfo.boi_bdb = be;
        opinfo.boi_txn = ltid;
+       opinfo.boi_locker = locker;
        opinfo.boi_err = 0;
        op->o_private = &opinfo;
        
@@ -547,10 +548,10 @@ return_results:
        send_ldap_result( conn, op, rc,
                NULL, text, NULL, NULL );
 
-#ifdef LDAP_CLIENT_UPDATE
+#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
        if ( rc == LDAP_SUCCESS && !noop ) {
                LDAP_LIST_FOREACH ( ps_list, &bdb->psearch_list, link ) {
-                       bdb_psearch( be, conn, op, ps_list, e, LCUP_PSEARCH_BY_ADD );
+                       bdb_psearch( be, conn, op, ps_list, e, LDAP_PSEARCH_BY_ADD );
                }
        }
 #endif /* LDAP_CLIENT_UPDATE */