From 4ec42fa0898ab268089b4493195463a3b7feec72 Mon Sep 17 00:00:00 2001 From: Yasushi SHOJI Date: Mon, 20 Mar 2023 10:04:10 +0900 Subject: [PATCH] candump: Follow Bash exit status when signaled Bash and many other shells use 128 + signum as the exit status when a program get signal and exit. Follow the common behavior so that we know how the programs are killed. Signed-off-by: Yasushi SHOJI --- candump.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/candump.c b/candump.c index 82f75b1..d855020 100644 --- a/candump.c +++ b/candump.c @@ -118,6 +118,7 @@ static const char extra_m_info[4][4] = { "- -", "B -", "- E", "B E" }; extern int optind, opterr, optopt; static volatile int running = 1; +static volatile sig_atomic_t signal_num; static void print_usage(void) { @@ -169,6 +170,7 @@ static void print_usage(void) static void sigterm(int signo) { running = 0; + signal_num = signo; } static int idx2dindex(int ifidx, int socket) @@ -861,5 +863,8 @@ int main(int argc, char **argv) if (log) fclose(logfile); + if (signal_num) + return 128 + signal_num; + return 0; }