| summaryrefslogtreecommitdiff |
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2020-01-08 20:27:17 +0100 |
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2020-01-08 20:27:17 +0100 |
| commit | c7c834e9944c94de3d07f21ce2d2d3f18a03b3b2 (patch) | |
| tree | d6f712b6817232ec3c2ed6ba6bfd47b033777ab0 /src/server | |
| parent | d65e74a20a50e2161e5ff2007f53aea8e3b105e2 (diff) | |
Implements remote "-t" and "-q" commands.
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/handle_client.c | 44 |
1 files changed, 9 insertions, 35 deletions
diff --git a/src/server/handle_client.c b/src/server/handle_client.c index bc18e95..5212440 100644 --- a/src/server/handle_client.c +++ b/src/server/handle_client.c @@ -15,17 +15,11 @@ #include <relabsd/debug.h> #include <relabsd/server.h> +#include <relabsd/config/parameters.h> + /******************************************************************************/ /**** LOCAL FUNCTIONS *********************************************************/ /******************************************************************************/ -static void handle_input -( - const ssize_t input_size __attribute__((unused)), - const char input [const static 1] __attribute__((unused)), - struct relabsd_server server [const static 1] __attribute__((unused)) -) -{ -} /******************************************************************************/ /**** EXPORTED FUNCTIONS ******************************************************/ @@ -37,10 +31,6 @@ int relabsd_server_handle_client ) { FILE * socket_as_file; - /* FIXME: reallocating at every new connection is kind of wasteful. */ - char * input; - ssize_t input_size; - size_t input_buffer_size; errno = 0; socket_as_file = fdopen(socket, "r"); @@ -58,29 +48,13 @@ int relabsd_server_handle_client return -1; } - errno = 0; - - input_size = getline(&input, &input_buffer_size, socket_as_file); - - if (input_size < 1) - { - RELABSD_ERROR - ( - "Unable to read line from client socket: %s.", - strerror(errno) - ); - - (void) free((void *) input); - - /* This also closes 'socket' */ - (void) fclose(socket_as_file); - - return -1; - } - - handle_input(input_size, input, server); - - (void) free((void *) input); + pthread_mutex_lock(&(server->mutex)); + (void) relabsd_parameters_handle_remote_client + ( + socket_as_file, + &(server->parameters) + ); + pthread_mutex_unlock(&(server->mutex)); /* This also closes 'socket' */ (void) fclose(socket_as_file); |


