aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2021-08-26 05:22:19 +0000
committerNIIBE Yutaka <[email protected]>2021-08-26 23:50:12 +0000
commitd5f9481186eaf2ff28d7ab04fd36f0bbd1c9714d (patch)
treec3e5c9d0d96c083914678fa161c41f356bfdc52e
parentPost release updates (diff)
downloadgnupg-d5f9481186eaf2ff28d7ab04fd36f0bbd1c9714d.tar.gz
gnupg-d5f9481186eaf2ff28d7ab04fd36f0bbd1c9714d.zip
common: Fix get_signal_name for GNU/Linux.
* common/signal.c (get_signal_name): Use sigdescr_np if available. * configure.ac: Check the function. -- Backport master commit of: c4ba712736ddeda66055567874d573e79d22666b GnuPG-bug-id: 5568 Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r--common/signal.c4
-rw-r--r--configure.ac2
2 files changed, 4 insertions, 2 deletions
diff --git a/common/signal.c b/common/signal.c
index ccfa8e670..92925fdb7 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 e1216c9ad..d9f3ea987 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1351,7 +1351,7 @@ AC_C_INLINE
AC_C_VOLATILE
AC_TYPE_SIZE_T
AC_TYPE_MODE_T
-AC_TYPE_SIGNAL
+AC_CHECK_FUNCS([sigdescr_np])
AC_DECL_SYS_SIGLIST
gl_HEADER_SYS_SOCKET