connection_abandon( c );
/* wake write blocked operations */
+ ldap_pvt_thread_mutex_lock( &c->c_write1_mutex );
if ( c->c_writers > 0 ) {
- ldap_pvt_thread_mutex_lock( &c->c_write1_mutex );
c->c_writers = -c->c_writers;
ldap_pvt_thread_cond_broadcast( &c->c_write1_cv );
ldap_pvt_thread_mutex_unlock( &c->c_write1_mutex );
}
ldap_pvt_thread_mutex_unlock( &c->c_write1_mutex );
} else {
+ ldap_pvt_thread_mutex_unlock( &c->c_write1_mutex );
slapd_clr_write( c->c_sd, 1 );
}