diff --git a/servers/slapd/connection.c b/servers/slapd/connection.c index 322c44d597362441a115da13ac8482e550e8a549..b7ed2d7d62d19f15da87bdf985f0493e8dfb106e 100644 --- a/servers/slapd/connection.c +++ b/servers/slapd/connection.c @@ -322,6 +322,7 @@ connection_destroy( Connection *c ) assert( c->c_conn_state != SLAP_C_INVALID ); assert( c->c_ops == NULL ); + ldap_pvt_thread_mutex_lock( &connections_mutex ); c->c_struct_state = SLAP_C_UNUSED; c->c_conn_state = SLAP_C_INVALID; @@ -359,6 +360,7 @@ connection_destroy( Connection *c ) } lber_pvt_sb_destroy( &c->c_sb ); + ldap_pvt_thread_mutex_unlock( &connections_mutex ); } int connection_state_closing( Connection *c )