From 3d002e0a85fa7d194b1cffae358b7c36de7e400b Mon Sep 17 00:00:00 2001 From: Karel Balej Date: Wed, 10 Dec 2025 19:34:47 +0100 Subject: [PATCH] profanity: exit gracefully on SIGTERM and SIGHUP --- src/profanity.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/profanity.c b/src/profanity.c index fd869b06e..039c764ae 100644 --- a/src/profanity.c +++ b/src/profanity.c @@ -195,6 +195,13 @@ _connect_default(const char* const account) } } +static void +sigterm_handler(int sig) +{ + log_info("Received signal %d, exiting", sig); + force_quit = TRUE; +} + static void _init(char* log_level, char* config_file, char* log_file, char* theme_name) { @@ -204,6 +211,8 @@ _init(char* log_level, char* config_file, char* log_file, char* theme_name) signal(SIGINT, SIG_IGN); signal(SIGTSTP, SIG_IGN); signal(SIGWINCH, ui_sigwinch_handler); + signal(SIGTERM, sigterm_handler); + signal(SIGHUP, sigterm_handler); if (pthread_mutex_init(&lock, NULL) != 0) { log_error("Mutex init failed"); exit(1);