mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-06 10:46:21 +08:00
Fix ITS#4401 teardown persistent clients when unconfiguring
This commit is contained in:
parent
cbc11c9233
commit
937bc5bbb7
@ -2600,6 +2600,16 @@ avl_ber_bvfree( void *v_bv )
|
||||
void
|
||||
syncinfo_free( syncinfo_t *sie )
|
||||
{
|
||||
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 ) {
|
||||
@ -2663,9 +2673,6 @@ syncinfo_free( syncinfo_t *sie )
|
||||
if ( sie->si_presentlist ) {
|
||||
avl_free( sie->si_presentlist, avl_ber_bvfree );
|
||||
}
|
||||
if ( sie->si_ld ) {
|
||||
ldap_unbind_ext( sie->si_ld, NULL, NULL );
|
||||
}
|
||||
while ( !LDAP_LIST_EMPTY( &sie->si_nonpresentlist )) {
|
||||
struct nonpresent_entry* npe;
|
||||
npe = LDAP_LIST_FIRST( &sie->si_nonpresentlist );
|
||||
|
Loading…
Reference in New Issue
Block a user