summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2020-01-08 20:27:17 +0100
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2020-01-08 20:27:17 +0100
commitc7c834e9944c94de3d07f21ce2d2d3f18a03b3b2 (patch)
treed6f712b6817232ec3c2ed6ba6bfd47b033777ab0 /src/server
parentd65e74a20a50e2161e5ff2007f53aea8e3b105e2 (diff)
Implements remote "-t" and "-q" commands.
Diffstat (limited to 'src/server')
-rw-r--r--src/server/handle_client.c44
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);