aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Munro <tmunro@postgresql.org>2022-07-24 09:32:34 +1200
committerThomas Munro <tmunro@postgresql.org>2022-07-24 09:32:34 +1200
commitfb12becdfb89e35f3f56768cefe1a837f0afafaf (patch)
treeeea26473ddbbd0284db10c287ac3a0a7c6167a22
parent86e5eb4f58a276870fbd29e3711b36e4a4280979 (diff)
downloadpostgresql-fb12becdfb89e35f3f56768cefe1a837f0afafaf.tar.gz
postgresql-fb12becdfb89e35f3f56768cefe1a837f0afafaf.zip
Remove dead handling for pre-POSIX sigwait().
sigwait() is in SUSv2 and all targeted Unix systems have it. An earlier pre-standard function prototype existed on some older systems, but we no longer need a workaround for that. Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Reviewed-by: Greg Stark <stark@mit.edu> Reviewed-by: Robert Haas <robertmhaas@gmail.com> Discussion: https://postgr.es/m/CA+hUKGJ3LHeP9w5Fgzdr4G8AnEtJ=z=p6hGDEm4qYGEUX5B6fQ@mail.gmail.com
-rwxr-xr-xconfigure64
-rw-r--r--configure.ac27
-rw-r--r--src/bin/psql/command.c10
-rw-r--r--src/bin/psql/startup.c4
-rw-r--r--src/include/pg_config.h.in7
-rw-r--r--src/tools/msvc/Solution.pm2
6 files changed, 10 insertions, 104 deletions
diff --git a/configure b/configure
index 52bcb9d498a..3e4ab15dc5b 100755
--- a/configure
+++ b/configure
@@ -16394,11 +16394,9 @@ $as_echo "#define HAVE_FSEEKO 1" >>confdefs.h
fi
-# Make sure there's a declaration for sigwait(), then make sure
-# that it conforms to the POSIX standard (there seem to still be
-# some platforms out there with pre-POSIX sigwait()). On Solaris,
-# _POSIX_PTHREAD_SEMANTICS affects the result, but we already
-# added that to CPPFLAGS.
+# posix_fadvise() is a no-op on Solaris, so don't incur function overhead
+# by calling it, 2009-04-02
+# http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libc/port/gen/posix_fadvise.c
# The Clang compiler raises a warning for an undeclared identifier that matches
# a compiler builtin function. All extant Clang versions are affected, as of
# Clang 3.6.0. Test a builtin known to every version. This problem affects the
@@ -16487,62 +16485,6 @@ case $ac_cv_c_decl_report in
*) ac_c_decl_warn_flag= ;;
esac
-ac_fn_c_check_decl "$LINENO" "sigwait" "ac_cv_have_decl_sigwait" "#include <signal.h>
-"
-if test "x$ac_cv_have_decl_sigwait" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_SIGWAIT $ac_have_decl
-_ACEOF
-
-if test "x$ac_cv_have_decl_sigwait" = xyes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for POSIX-conforming sigwait declaration" >&5
-$as_echo_n "checking for POSIX-conforming sigwait declaration... " >&6; }
-if ${pgac_cv_have_posix_decl_sigwait+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- #include <signal.h>
- int sigwait(const sigset_t *set, int *sig);
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- pgac_cv_have_posix_decl_sigwait=yes
-else
- pgac_cv_have_posix_decl_sigwait=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_have_posix_decl_sigwait" >&5
-$as_echo "$pgac_cv_have_posix_decl_sigwait" >&6; }
-fi
-if test "x$pgac_cv_have_posix_decl_sigwait" = xyes; then
-
-$as_echo "#define HAVE_POSIX_DECL_SIGWAIT 1" >>confdefs.h
-
-else
- # On non-Windows, libpq requires POSIX sigwait() for thread safety.
- if test "$enable_thread_safety" = yes -a "$PORTNAME" != "win32"; then
- as_fn_error $? "POSIX-conforming sigwait is required to enable thread safety." "$LINENO" 5
- fi
-fi
-
-# posix_fadvise() is a no-op on Solaris, so don't incur function overhead
-# by calling it, 2009-04-02
-# http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libc/port/gen/posix_fadvise.c
if test "$PORTNAME" != "solaris"; then :
for ac_func in posix_fadvise
diff --git a/configure.ac b/configure.ac
index 9a3483f206b..ff3ef3cf0be 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1838,33 +1838,6 @@ PGAC_CHECK_BUILTIN_FUNC_PTR([__builtin_frame_address], [0])
# in case it finds that _LARGEFILE_SOURCE has to be #define'd for that.
AC_FUNC_FSEEKO
-# Make sure there's a declaration for sigwait(), then make sure
-# that it conforms to the POSIX standard (there seem to still be
-# some platforms out there with pre-POSIX sigwait()). On Solaris,
-# _POSIX_PTHREAD_SEMANTICS affects the result, but we already
-# added that to CPPFLAGS.
-AC_CHECK_DECLS(sigwait, [], [], [#include <signal.h>])
-if test "x$ac_cv_have_decl_sigwait" = xyes; then
- AC_CACHE_CHECK([for POSIX-conforming sigwait declaration],
- [pgac_cv_have_posix_decl_sigwait],
- [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
- #include <signal.h>
- int sigwait(const sigset_t *set, int *sig);
- ],
- [])],
- [pgac_cv_have_posix_decl_sigwait=yes],
- [pgac_cv_have_posix_decl_sigwait=no])])
-fi
-if test "x$pgac_cv_have_posix_decl_sigwait" = xyes; then
- AC_DEFINE(HAVE_POSIX_DECL_SIGWAIT, 1,
- [Define to 1 if you have a POSIX-conforming sigwait declaration.])
-else
- # On non-Windows, libpq requires POSIX sigwait() for thread safety.
- if test "$enable_thread_safety" = yes -a "$PORTNAME" != "win32"; then
- AC_MSG_ERROR([POSIX-conforming sigwait is required to enable thread safety.])
- fi
-fi
-
# posix_fadvise() is a no-op on Solaris, so don't incur function overhead
# by calling it, 2009-04-02
# http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libc/port/gen/posix_fadvise.c
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index 0955142215a..cac98804ab5 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -4953,7 +4953,7 @@ do_watch(PQExpBuffer query_buf, double sleep)
FILE *pagerpipe = NULL;
int title_len;
int res = 0;
-#ifdef HAVE_POSIX_DECL_SIGWAIT
+#ifndef WIN32
sigset_t sigalrm_sigchld_sigint;
sigset_t sigalrm_sigchld;
sigset_t sigint;
@@ -4967,7 +4967,7 @@ do_watch(PQExpBuffer query_buf, double sleep)
return false;
}
-#ifdef HAVE_POSIX_DECL_SIGWAIT
+#ifndef WIN32
sigemptyset(&sigalrm_sigchld_sigint);
sigaddset(&sigalrm_sigchld_sigint, SIGCHLD);
sigaddset(&sigalrm_sigchld_sigint, SIGALRM);
@@ -5006,7 +5006,7 @@ do_watch(PQExpBuffer query_buf, double sleep)
* PAGER environment variables, because traditional pagers probably won't
* be very useful for showing a stream of results.
*/
-#ifdef HAVE_POSIX_DECL_SIGWAIT
+#ifndef WIN32
pagerprog = getenv("PSQL_WATCH_PAGER");
#endif
if (pagerprog && myopt.topt.pager)
@@ -5077,7 +5077,7 @@ do_watch(PQExpBuffer query_buf, double sleep)
if (pagerpipe && ferror(pagerpipe))
break;
-#ifndef HAVE_POSIX_DECL_SIGWAIT
+#ifdef WIN32
/*
* Set up cancellation of 'watch' via SIGINT. We redo this each time
@@ -5158,7 +5158,7 @@ do_watch(PQExpBuffer query_buf, double sleep)
fflush(stdout);
}
-#ifdef HAVE_POSIX_DECL_SIGWAIT
+#ifndef WIN32
/* Disable the interval timer. */
memset(&interval, 0, sizeof(interval));
setitimer(ITIMER_REAL, &interval, NULL);
diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c
index 7c2f555f15c..e2e5678e2d2 100644
--- a/src/bin/psql/startup.c
+++ b/src/bin/psql/startup.c
@@ -110,7 +110,7 @@ log_locus_callback(const char **filename, uint64 *lineno)
}
}
-#ifdef HAVE_POSIX_DECL_SIGWAIT
+#ifndef WIN32
static void
empty_signal_handler(SIGNAL_ARGS)
{
@@ -308,7 +308,7 @@ main(int argc, char *argv[])
psql_setup_cancel_handler();
-#ifdef HAVE_POSIX_DECL_SIGWAIT
+#ifndef WIN32
/*
* do_watch() needs signal handlers installed (otherwise sigwait() will
diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
index 9061f301b05..bf42c541dc4 100644
--- a/src/include/pg_config.h.in
+++ b/src/include/pg_config.h.in
@@ -149,10 +149,6 @@
don't. */
#undef HAVE_DECL_RTLD_NOW
-/* Define to 1 if you have the declaration of `sigwait', and to 0 if you
- don't. */
-#undef HAVE_DECL_SIGWAIT
-
/* Define to 1 if you have the declaration of `strlcat', and to 0 if you
don't. */
#undef HAVE_DECL_STRLCAT
@@ -406,9 +402,6 @@
/* Define to 1 if you have the <poll.h> header file. */
#undef HAVE_POLL_H
-/* Define to 1 if you have a POSIX-conforming sigwait declaration. */
-#undef HAVE_POSIX_DECL_SIGWAIT
-
/* Define to 1 if you have the `posix_fadvise' function. */
#undef HAVE_POSIX_FADVISE
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
index 5fa8626af7f..a71a24d435d 100644
--- a/src/tools/msvc/Solution.pm
+++ b/src/tools/msvc/Solution.pm
@@ -246,7 +246,6 @@ sub GenerateFiles
HAVE_DECL_PWRITEV => 0,
HAVE_DECL_RTLD_GLOBAL => 0,
HAVE_DECL_RTLD_NOW => 0,
- HAVE_DECL_SIGWAIT => 0,
HAVE_DECL_STRLCAT => 0,
HAVE_DECL_STRLCPY => 0,
HAVE_DECL_STRNLEN => 1,
@@ -329,7 +328,6 @@ sub GenerateFiles
HAVE_PAM_PAM_APPL_H => undef,
HAVE_POLL => undef,
HAVE_POLL_H => undef,
- HAVE_POSIX_DECL_SIGWAIT => undef,
HAVE_POSIX_FADVISE => undef,
HAVE_POSIX_FALLOCATE => undef,
HAVE_PPC_LWARX_MUTEX_HINT => undef,