summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2020-01-07 11:25:43 +0100
committernsensfel <SpamShield0@noot-noot.org>2020-01-07 11:25:43 +0100
commit272e335b057dce34304d17074a81d3e3d0cde175 (patch)
tree40675a7019db9b249655293ed9d91ac1eb6d5f66 /src/server
parent99fc3898606bf9bc2a732facffc1a6fe6bfcf3a2 (diff)
...
Diffstat (limited to 'src/server')
-rw-r--r--src/server/handle_client.c3
-rw-r--r--src/server/interruption.c10
2 files changed, 12 insertions, 1 deletions
diff --git a/src/server/handle_client.c b/src/server/handle_client.c
index a5eb7f7..bc18e95 100644
--- a/src/server/handle_client.c
+++ b/src/server/handle_client.c
@@ -40,6 +40,7 @@ int relabsd_server_handle_client
/* 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");
@@ -59,7 +60,7 @@ int relabsd_server_handle_client
errno = 0;
- input_size = getline(&input, (size_t *) NULL, socket_as_file);
+ input_size = getline(&input, &input_buffer_size, socket_as_file);
if (input_size < 1)
{
diff --git a/src/server/interruption.c b/src/server/interruption.c
index 7dabd3d..12d3c83 100644
--- a/src/server/interruption.c
+++ b/src/server/interruption.c
@@ -71,6 +71,16 @@ int relabsd_server_initialize_signal_handlers (void)
return -1;
}
+ if (signal(SIGTERM, interrupt) == SIG_ERR)
+ {
+ RELABSD_S_FATAL("Unable to set the SIGTERM signal handler.");
+
+ (void) close(RELABSD_INTERRUPTION_PIPES[0]);
+ (void) close(RELABSD_INTERRUPTION_PIPES[1]);
+
+ return -1;
+ }
+
return 0;
}