summaryrefslogtreecommitdiffstats
path: root/src/server/net.c
diff options
context:
space:
mode:
authorSimon Rettberg2015-01-05 14:17:49 +0100
committerSimon Rettberg2015-01-05 14:17:49 +0100
commit84f93cf7b7768cbf522c75c4e3fe204cf6fd785c (patch)
tree6a186d58a4d00d4ec39daeb5c9acb08830f1889a /src/server/net.c
parent[SERVER] Dead code removal, minor performance tweaks, refactoring, etc. (diff)
downloaddnbd3-84f93cf7b7768cbf522c75c4e3fe204cf6fd785c.tar.gz
dnbd3-84f93cf7b7768cbf522c75c4e3fe204cf6fd785c.tar.xz
dnbd3-84f93cf7b7768cbf522c75c4e3fe204cf6fd785c.zip
[SERVER] Use a thread pool for client connections
Diffstat (limited to 'src/server/net.c')
-rw-r--r--src/server/net.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/server/net.c b/src/server/net.c
index 8e5189f..9525456 100644
--- a/src/server/net.c
+++ b/src/server/net.c
@@ -23,7 +23,6 @@
#include <stdio.h>
#include <string.h>
#include <unistd.h>
-#include <pthread.h>
#include <fcntl.h>
#include <sys/sendfile.h>
#include <sys/types.h>
@@ -118,7 +117,7 @@ static inline bool send_reply(int sock, dnbd3_reply_t *reply, void *payload)
void *net_client_handler(void *dnbd3_client)
{
- dnbd3_client_t *client = (dnbd3_client_t *)(uintptr_t)dnbd3_client;
+ dnbd3_client_t *client = (dnbd3_client_t *)dnbd3_client;
dnbd3_request_t request;
dnbd3_reply_t reply;
@@ -136,9 +135,6 @@ void *net_client_handler(void *dnbd3_client)
dnbd3_server_entry_t server_list[NUMBER_SERVERS];
- // Block some signals not important to this thread
- blockNoncriticalSignals();
-
// Set to zero to make valgrind happy
memset( &reply, 0, sizeof(reply) );
memset( &payload, 0, sizeof(payload) );
@@ -359,8 +355,7 @@ void *net_client_handler(void *dnbd3_client)
exit_client_cleanup: ;
if ( image_file != -1 ) close( image_file );
dnbd3_remove_client( client );
- client->running = false;
client = dnbd3_free_client( client );
- pthread_exit( NULL );
return NULL ;
}
+