mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-23 16:19:35 -05:00
ITS#4667 in connection_closing, release c_mutex to allow waiters
to clear out.
This commit is contained in:
parent
da6a4bcd3e
commit
f82ee25ec1
1 changed files with 7 additions and 1 deletions
|
|
@ -829,9 +829,15 @@ void connection_closing( Connection *c, const char *why )
|
|||
connection_abandon( c );
|
||||
|
||||
/* wake write blocked operations */
|
||||
slapd_clr_write( sd, 1 );
|
||||
if ( c->c_writewaiter ) {
|
||||
ldap_pvt_thread_cond_signal( &c->c_write_cv );
|
||||
ldap_pvt_thread_mutex_unlock( &c->c_mutex );
|
||||
slapd_clr_write( sd, 1 );
|
||||
ldap_pvt_thread_mutex_lock( &c->c_write_mutex );
|
||||
ldap_pvt_thread_mutex_lock( &c->c_mutex );
|
||||
ldap_pvt_thread_mutex_unlock( &c->c_write_mutex );
|
||||
} else {
|
||||
slapd_clr_write( sd, 1 );
|
||||
}
|
||||
|
||||
} else if( why == NULL && c->c_close_reason == conn_lost_str ) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue