diff options
author | Simon Rettberg | 2014-12-31 20:44:32 +0100 |
---|---|---|
committer | Simon Rettberg | 2014-12-31 20:44:32 +0100 |
commit | 5b322c5d9ba4c0706c66055be980a814de837002 (patch) | |
tree | a71282a7896e28bfaeef038cbd04ed32f24ff0a7 /src/server/server.c | |
parent | [SERVER] Create compilation unit for wait/signalling logic (using eventfd) (diff) | |
download | dnbd3-5b322c5d9ba4c0706c66055be980a814de837002.tar.gz dnbd3-5b322c5d9ba4c0706c66055be980a814de837002.tar.xz dnbd3-5b322c5d9ba4c0706c66055be980a814de837002.zip |
[SERVER] Minor tweaks and improvements
Diffstat (limited to 'src/server/server.c')
-rw-r--r-- | src/server/server.c | 4 |
1 files changed, 2 insertions, 2 deletions
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 ; |