]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-bdb/delete.c
Remove broken MSVC build from REL_ENG branch.
[openldap] / servers / slapd / back-bdb / delete.c
index 3c36e56c05a1cf795ff19c842838e1b3383c15a0..439f938f07ea156c372f028fe47e8c89c3c10b3b 100644 (file)
@@ -521,6 +521,14 @@ retry:     /* transaction retry */
                        }
                }
 
+               if ( rs->sr_err == LDAP_SUCCESS && !noop && !op->o_no_psearch ) {
+                       ldap_pvt_thread_rdwr_rlock( &bdb->bi_pslist_rwlock );
+                       LDAP_LIST_FOREACH( ps_list, &bdb->bi_psearch_list, o_ps_link ) {
+                               bdb_psearch( op, rs, ps_list, e, LDAP_PSEARCH_BY_DELETE );
+                       }
+                       ldap_pvt_thread_rdwr_runlock( &bdb->bi_pslist_rwlock );
+               }
+
                rs->sr_err = TXN_COMMIT( ltid, 0 );
        }
        ltid = NULL;
@@ -560,12 +568,6 @@ retry:     /* transaction retry */
 return_results:
        send_ldap_result( op, rs );
 
-       if ( rs->sr_err == LDAP_SUCCESS && !noop && !op->o_no_psearch ) {
-               LDAP_LIST_FOREACH( ps_list, &bdb->bi_psearch_list, o_ps_link ) {
-                       bdb_psearch( op, rs, ps_list, e, LDAP_PSEARCH_BY_DELETE );
-               }
-       }
-
        if(rs->sr_err == LDAP_SUCCESS && bdb->bi_txn_cp ) {
                ldap_pvt_thread_yield();
                TXN_CHECKPOINT( bdb->bi_dbenv,