fix: logic/correctness bugs — issues #73, #68, #67, #66, #59, #58, #54, #48, #53
CI / lint (pull_request) Failing after 7s
CI / build-and-test (pull_request) Has been skipped
CI / sanitizers (address) (pull_request) Has been skipped
CI / sanitizers (undefined) (pull_request) Has been skipped
CI / fuzz-build (pull_request) Has been skipped
CI / coverage (pull_request) Has been skipped
CI / valgrind (pull_request) Has been skipped
CI / lint (pull_request) Failing after 7s
CI / build-and-test (pull_request) Has been skipped
CI / sanitizers (address) (pull_request) Has been skipped
CI / sanitizers (undefined) (pull_request) Has been skipped
CI / fuzz-build (pull_request) Has been skipped
CI / coverage (pull_request) Has been skipped
CI / valgrind (pull_request) Has been skipped
This commit is contained in:
+8
-4
@@ -113,13 +113,11 @@ void handler(int file_descriptor) {
|
||||
}
|
||||
|
||||
static Server* g_server = NULL;
|
||||
static volatile sig_atomic_t g_server_cleanup_requested = 0;
|
||||
|
||||
static void cleanup(int sig) {
|
||||
(void)sig;
|
||||
if (g_server) {
|
||||
server_delete(&g_server);
|
||||
}
|
||||
_exit(0);
|
||||
g_server_cleanup_requested = 1;
|
||||
}
|
||||
|
||||
static void print_server_usage(void) {
|
||||
@@ -205,5 +203,11 @@ int main(int argc, char* argv[]) {
|
||||
} else {
|
||||
server_listen(g_server, handler);
|
||||
}
|
||||
|
||||
/* Graceful shutdown: if a signal requested cleanup, delete the server */
|
||||
if (g_server_cleanup_requested) {
|
||||
log_message(LOG_LEVEL_INFO, "Shutdown requested, cleaning up");
|
||||
server_delete(&g_server);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user