break;
}
- if ( e == entry ) {
- LDAP_STAILQ_REMOVE( &rq->task_list, entry, re_s, tnext );
- }
+ assert( e == entry );
+
+ LDAP_STAILQ_REMOVE( &rq->task_list, entry, re_s, tnext );
LDAP_FREE( entry );
}
LDAP_SLAPD_F (RETSIGTYPE) slap_sig_shutdown LDAP_P((int sig));
LDAP_SLAPD_F (RETSIGTYPE) slap_sig_wake LDAP_P((int sig));
+LDAP_SLAPD_F (void) slap_wake_listener LDAP_P((void));
LDAP_SLAPD_F (void) slapd_set_write LDAP_P((ber_socket_t s, int wake));
LDAP_SLAPD_F (void) slapd_clr_write LDAP_P((ber_socket_t s, int wake));
ldap_pvt_runqueue_stoptask( &syncrepl_rq, rtask );
}
+ if ( dostop ) {
+ connection_client_stop( s );
+ }
+
if ( rc == LDAP_SUCCESS ) {
- if ( dostop ) {
- connection_client_stop( s );
- }
if ( si->si_type == LDAP_SYNC_REFRESH_ONLY ) {
defer = 0;
}
}
if ( !si->si_retrynum || si->si_retrynum[i] == -2 ) {
- if ( dostop ) {
- connection_client_stop( s );
- }
ldap_pvt_runqueue_remove( &syncrepl_rq, rtask );
} else if ( si->si_retrynum[i] >= -1 ) {
if ( si->si_retrynum[i] > 0 )
si->si_retrynum[i]--;
rtask->interval.tv_sec = si->si_retryinterval[i];
ldap_pvt_runqueue_resched( &syncrepl_rq, rtask, 0 );
+ slap_wake_listener();
}
}