int si_tlimit;
int si_refreshDelete;
int si_refreshPresent;
+ int si_refreshDone;
int si_syncdata;
int si_logstate;
int si_conn_setup;
ldap_pvt_thread_mutex_unlock( &si->si_cookieState->cs_mutex );
}
+ si->si_refreshDone = 0;
+
rc = ldap_sync_search( si, op->o_tmpmemctx );
if( rc != LDAP_SUCCESS ) {
struct timeval tout = { 0, 0 };
int refreshDeletes = 0;
- int refreshDone = 1;
BerVarray syncUUIDs = NULL;
ber_tag_t si_tag;
slap_parse_sync_cookie( &syncCookie, NULL );
}
}
+ /* Defaults to TRUE */
if ( ber_peek_tag( ber, &len ) ==
LDAP_TAG_REFRESHDONE )
{
- ber_scanf( ber, "b", &refreshDone );
+ ber_scanf( ber, "b", &si->si_refreshDone );
+ } else
+ {
+ si->si_refreshDone = 1;
}
ber_scanf( ber, /*"{"*/ "}" );
break;
si->si_ridtxt, syncrepl_state2str( syncstate ), 0 );
if (( syncstate == LDAP_SYNC_PRESENT || syncstate == LDAP_SYNC_ADD ) ) {
- if ( !si->si_refreshPresent ) {
+ if ( !si->si_refreshPresent && !si->si_refreshDone ) {
syncuuid_inserted = avl_presentlist_insert( si, syncUUID );
}
}