From c4ba712736ddeda66055567874d573e79d22666b Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Thu, 26 Aug 2021 14:22:19 +0900 Subject: [PATCH] common: Fix get_signal_name for GNU/Linux. * common/signal.c (get_signal_name): Use sigdescr_np if available. * configure.ac: Check the function. -- GnuPG-bug-id: 5568 Signed-off-by: NIIBE Yutaka --- common/signal.c | 4 +++- configure.ac | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/common/signal.c b/common/signal.c index 41c14ba68..0200186c1 100644 --- a/common/signal.c +++ b/common/signal.c @@ -87,7 +87,9 @@ get_signal_name( int signum ) { /* Note that we can't use strsignal(), because it is not reentrant. */ -#if HAVE_DECL_SYS_SIGLIST && defined(NSIG) +#if HAVE_SIGDESCR_NP + return sigdescr_np (signum); +#elif HAVE_DECL_SYS_SIGLIST && defined(NSIG) return (signum >= 0 && signum < NSIG) ? sys_siglist[signum] : "?"; #else return NULL; diff --git a/configure.ac b/configure.ac index c0ff1b71e..df6029810 100644 --- a/configure.ac +++ b/configure.ac @@ -1373,6 +1373,7 @@ AC_C_INLINE AC_C_VOLATILE AC_TYPE_SIZE_T AC_TYPE_MODE_T +AC_CHECK_FUNCS([sigdescr_np]) AC_CHECK_DECLS([sys_siglist],[],[],[#include /* NetBSD declares sys_siglist in unistd.h. */ #ifdef HAVE_UNISTD_H