Fix prev commit, c_writers check should be mutex'd

This commit is contained in:
Howard Chu 2009-01-15 21:22:35 +00:00
parent 1a171b07d3
commit dd15627a5e

View file

@ -761,8 +761,8 @@ void connection_closing( Connection *c, const char *why )
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 );
@ -778,6 +778,7 @@ void connection_closing( Connection *c, const char *why )
}
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 );
}