+ if ( sie->si_ld ) {
+ if ( sie->si_conn_setup ) {
+ ber_socket_t s;
+ ldap_get_option( sie->si_ld, LDAP_OPT_DESC, &s );
+ connection_client_stop( s );
+ sie->si_conn_setup = 0;
+ }
+ ldap_unbind_ext( sie->si_ld, NULL, NULL );
+ }
+
+ /* re-fetch it, in case it was already removed */
+ sie->si_re = ldap_pvt_runqueue_find( &slapd_rq, do_syncrepl, sie );
+ if ( sie->si_re ) {
+ if ( ldap_pvt_runqueue_isrunning( &slapd_rq, sie->si_re ) )
+ ldap_pvt_runqueue_stoptask( &slapd_rq, sie->si_re );
+ ldap_pvt_runqueue_remove( &slapd_rq, sie->si_re );
+ }
+