diff options
author | Simon Rettberg | 2015-01-05 14:17:49 +0100 |
---|---|---|
committer | Simon Rettberg | 2015-01-05 14:17:49 +0100 |
commit | 84f93cf7b7768cbf522c75c4e3fe204cf6fd785c (patch) | |
tree | 6a186d58a4d00d4ec39daeb5c9acb08830f1889a /src/server/net.c | |
parent | [SERVER] Dead code removal, minor performance tweaks, refactoring, etc. (diff) | |
download | dnbd3-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.c | 9 |
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 ; } + |