| summaryrefslogtreecommitdiff |
diff options
| author | nsensfel <SpamShield0@noot-noot.org> | 2020-01-07 11:25:43 +0100 |
|---|---|---|
| committer | nsensfel <SpamShield0@noot-noot.org> | 2020-01-07 11:25:43 +0100 |
| commit | 272e335b057dce34304d17074a81d3e3d0cde175 (patch) | |
| tree | 40675a7019db9b249655293ed9d91ac1eb6d5f66 /src/server | |
| parent | 99fc3898606bf9bc2a732facffc1a6fe6bfcf3a2 (diff) | |
...
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/handle_client.c | 3 | ||||
| -rw-r--r-- | src/server/interruption.c | 10 |
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; } |


