From: Howard Chu Date: Wed, 7 Dec 2005 12:09:00 +0000 (+0000) Subject: Improve previous commit X-Git-Tag: OPENLDAP_REL_ENG_2_4_BP~627 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=51f9ef7ab9e43b5b1db1a63d17be3a7a9d1e2238;p=openldap Improve previous commit --- diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c index a3f657cb68..43307e5279 100644 --- a/servers/slapd/overlays/syncprov.c +++ b/servers/slapd/overlays/syncprov.c @@ -2323,16 +2323,14 @@ syncprov_db_open( strcpy( ctxcsnbuf, si->si_ctxcsnbuf ); } be_entry_release_rw( op, e, 0 ); - if ( BER_BVISEMPTY( &si->si_ctxcsn ) ) { - si->si_ctxcsn.bv_len = sizeof( si->si_ctxcsnbuf ); - slap_get_csn( op, &si->si_ctxcsn, 0 ); + if ( !BER_BVISEMPTY( &si->si_ctxcsn ) ) { + op->o_bd->bd_info = (BackendInfo *)on; + op->o_req_dn = be->be_suffix[0]; + op->o_req_ndn = be->be_nsuffix[0]; + op->ors_scope = LDAP_SCOPE_SUBTREE; + ldap_pvt_thread_create( &tid, 0, syncprov_db_otask, op ); + ldap_pvt_thread_join( tid, NULL ); } - op->o_bd->bd_info = (BackendInfo *)on; - op->o_req_dn = be->be_suffix[0]; - op->o_req_ndn = be->be_nsuffix[0]; - op->ors_scope = LDAP_SCOPE_SUBTREE; - ldap_pvt_thread_create( &tid, 0, syncprov_db_otask, op ); - ldap_pvt_thread_join( tid, NULL ); } else if ( SLAP_SYNC_SHADOW( op->o_bd )) { /* If we're also a consumer, and we didn't find the context entry, * then don't generate anything, wait for our provider to send it