From 6eafd4156a6c8b43b37e95117f6618b1b2dc7d0d Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Fri, 29 Jul 2022 14:34:41 +0300 Subject: [PATCH] us_signum_to_string() --- src/dump/main.c | 7 +------ src/libs/tools.h | 5 +++++ src/ustreamer/main.c | 6 +----- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/dump/main.c b/src/dump/main.c index 1b26c30..0fcdd2f 100644 --- a/src/dump/main.c +++ b/src/dump/main.c @@ -195,12 +195,7 @@ int main(int argc, char *argv[]) { static void _signal_handler(int signum) { - switch (signum) { - case SIGTERM: US_LOG_INFO_NOLOCK("===== Stopping by SIGTERM ====="); break; - case SIGINT: US_LOG_INFO_NOLOCK("===== Stopping by SIGINT ====="); break; - case SIGPIPE: US_LOG_INFO_NOLOCK("===== Stopping by SIGPIPE ====="); break; - default: US_LOG_INFO_NOLOCK("===== Stopping by %d =====", signum); break; - } + US_LOG_INFO_NOLOCK("===== Stopping by SIG%s =====", us_signum_to_string(signum)); _g_stop = true; } diff --git a/src/libs/tools.h b/src/libs/tools.h index c543947..5feb639 100644 --- a/src/libs/tools.h +++ b/src/libs/tools.h @@ -193,3 +193,8 @@ INLINE char *us_errno_to_string(int error, char *buf, size_t size) { } return buf; } + +INLINE const char *us_signum_to_string(int signum) { + const char *const str = sigabbrev_np(signum); + return (str == NULL ? "???" : str); +} diff --git a/src/ustreamer/main.c b/src/ustreamer/main.c index 4ace53f..6e8e7cc 100644 --- a/src/ustreamer/main.c +++ b/src/ustreamer/main.c @@ -67,11 +67,7 @@ static void *_server_loop_thread(UNUSED void *arg) { } static void _signal_handler(int signum) { - switch (signum) { - case SIGTERM: US_LOG_INFO_NOLOCK("===== Stopping by SIGTERM ====="); break; - case SIGINT: US_LOG_INFO_NOLOCK("===== Stopping by SIGINT ====="); break; - default: US_LOG_INFO_NOLOCK("===== Stopping by %d =====", signum); break; - } + US_LOG_INFO_NOLOCK("===== Stopping by SIG%s =====", us_signum_to_string(signum)); us_stream_loop_break(_g_stream); us_server_loop_break(_g_server); }