-
- if ( LDAP_STAILQ_EMPTY( &op->o_bd->be_syncinfo )) {
- if ( ctxcsn_added ) {
- bdb_cache_add( bdb, suffix_ei, ctxcsn_e,
- (struct berval *)&slap_ldapsync_cn_bv, locker );
- }
- }
-
- if ( rs->sr_err == LDAP_SUCCESS ) {
- /* Loop through in-scope entries for each psearch spec */
- ldap_pvt_thread_rdwr_wlock( &bdb->bi_pslist_rwlock );
- LDAP_LIST_FOREACH ( ps_list, &bdb->bi_psearch_list, o_ps_link ) {
- rc = bdb_psearch( op, rs, ps_list, e, LDAP_PSEARCH_BY_MODIFY );
- if ( rc ) {
-#ifdef NEW_LOGGING
- LDAP_LOG ( OPERATION, ERR,
- "bdb_modify: persistent search failed (%d,%d)\n",
- rc, rs->sr_err, 0 );
-#else
- Debug( LDAP_DEBUG_TRACE,
- "bdb_modify: persistent search failed (%d,%d)\n",
- rc, rs->sr_err, 0 );
-#endif
- }
- }
- pm_list = LDAP_LIST_FIRST(&op->o_pm_list);
- while ( pm_list != NULL ) {
- rc = bdb_psearch(op, rs, pm_list->ps_op,
- e, LDAP_PSEARCH_BY_SCOPEOUT);
- if ( rc ) {
-#ifdef NEW_LOGGING
- LDAP_LOG ( OPERATION, ERR,
- "bdb_modify: persistent search failed (%d,%d)\n",
- rc, rs->sr_err, 0 );
-#else
- Debug( LDAP_DEBUG_TRACE,
- "bdb_modify: persistent search failed (%d,%d)\n",
- rc, rs->sr_err, 0 );
-#endif
- }
- LDAP_LIST_REMOVE ( pm_list, ps_link );
- pm_prev = pm_list;
- pm_list = LDAP_LIST_NEXT ( pm_list, ps_link );
- ch_free( pm_prev );
- }
- ldap_pvt_thread_rdwr_wunlock( &bdb->bi_pslist_rwlock );
- }