From cc92cca43162c4635e6ab5e7c61f7f8728d56d9a Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 17 Dec 2018 13:50:07 -0500 Subject: [PATCH] Drop support for getting signal descriptions from sys_siglist[]. It appears that all platforms that have sys_siglist[] also have strsignal(), making that fallback case in pg_strsignal() dead code. Getting rid of it allows dropping a configure test, which seems worth more than providing textual signal descriptions on whatever platforms might still hypothetically have use for the fallback case. Discussion: https://postgr.es/m/25758.1544983503@sss.pgh.pa.us --- configure | 18 ------------------ configure.in | 8 -------- src/include/pg_config.h.in | 4 ---- src/port/pgstrsignal.c | 21 +++++++++------------ 4 files changed, 9 insertions(+), 42 deletions(-) diff --git a/configure b/configure index 3dddd8d0ed..ea40f5f03d 100755 --- a/configure +++ b/configure @@ -16064,24 +16064,6 @@ esac fi -ac_fn_c_check_decl "$LINENO" "sys_siglist" "ac_cv_have_decl_sys_siglist" "#include -/* NetBSD declares sys_siglist in unistd.h. */ -#ifdef HAVE_UNISTD_H -# include -#endif - -" -if test "x$ac_cv_have_decl_sys_siglist" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_SYS_SIGLIST $ac_have_decl -_ACEOF - - ac_fn_c_check_func "$LINENO" "syslog" "ac_cv_func_syslog" if test "x$ac_cv_func_syslog" = xyes; then : ac_fn_c_check_header_mongrel "$LINENO" "syslog.h" "ac_cv_header_syslog_h" "$ac_includes_default" diff --git a/configure.in b/configure.in index 4fd6b8fc80..89a0fb2470 100644 --- a/configure.in +++ b/configure.in @@ -1787,14 +1787,6 @@ if test "$PORTNAME" = "cygwin"; then AC_LIBOBJ(dirmod) fi -AC_CHECK_DECLS([sys_siglist], [], [], -[#include -/* NetBSD declares sys_siglist in unistd.h. */ -#ifdef HAVE_UNISTD_H -# include -#endif -]) - AC_CHECK_FUNC(syslog, [AC_CHECK_HEADER(syslog.h, [AC_DEFINE(HAVE_SYSLOG, 1, [Define to 1 if you have the syslog interface.])])]) diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 0a5ddd2e92..76bd81e9bf 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -192,10 +192,6 @@ don't. */ #undef HAVE_DECL_STRTOULL -/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you - don't. */ -#undef HAVE_DECL_SYS_SIGLIST - /* Define to 1 if you have the `dlopen' function. */ #undef HAVE_DLOPEN diff --git a/src/port/pgstrsignal.c b/src/port/pgstrsignal.c index ec989229ba..b0ca4956e5 100644 --- a/src/port/pgstrsignal.c +++ b/src/port/pgstrsignal.c @@ -31,7 +31,7 @@ * the string will remain valid across later calls to strsignal(). * * This version guarantees to return a non-NULL pointer, although - * some platforms' versions of strsignal() do not. + * some platforms' versions of strsignal() reputedly do not. */ const char * pg_strsignal(int signum) @@ -40,21 +40,18 @@ pg_strsignal(int signum) /* * If we have strsignal(3), use that --- but check its result for NULL. - * Otherwise, if we have sys_siglist[], use that; just out of paranoia, - * check for NULL there too. (We assume there is no point in trying both - * APIs.) */ -#if defined(HAVE_STRSIGNAL) +#ifdef HAVE_STRSIGNAL result = strsignal(signum); if (result) return result; -#elif defined(HAVE_DECL_SYS_SIGLIST) && HAVE_DECL_SYS_SIGLIST - if (signum > 0 && signum < NSIG) - { - result = sys_siglist[signum]; - if (result) - return result; - } +#else + + /* + * We used to have code here to try to use sys_siglist[] if available. + * However, it seems that all platforms with sys_siglist[] have also had + * strsignal() for many years now, so that was just a waste of code. + */ #endif /*