From 5b322c5d9ba4c0706c66055be980a814de837002 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 31 Dec 2014 20:44:32 +0100 Subject: [SERVER] Minor tweaks and improvements --- src/server/server.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/server/server.c') diff --git a/src/server/server.c b/src/server/server.c index e502543..3c3fa06 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -446,8 +446,10 @@ void dnbd3_remove_client(dnbd3_client_t *client) dnbd3_client_t* dnbd3_free_client(dnbd3_client_t *client) { spin_lock( &client->lock ); + pthread_mutex_lock( &client->sendMutex ); if ( client->sock >= 0 ) close( client->sock ); client->sock = -1; + pthread_mutex_unlock( &client->sendMutex ); if ( client->image != NULL ) { spin_lock( &client->image->lock ); if ( client->image->uplink != NULL ) uplink_removeClient( client->image->uplink, client ); @@ -457,8 +459,6 @@ dnbd3_client_t* dnbd3_free_client(dnbd3_client_t *client) client->image = NULL; spin_unlock( &client->lock ); spin_destroy( &client->lock ); - pthread_mutex_lock( &client->sendMutex ); - pthread_mutex_unlock( &client->sendMutex ); pthread_mutex_destroy( &client->sendMutex ); free( client ); return NULL ; -- cgit v1.2.3-55-g7522