Remove dead handling for pre-POSIX sigwait().
authorThomas Munro <tmunro@postgresql.org>
Sat, 23 Jul 2022 21:32:34 +0000 (09:32 +1200)
committerThomas Munro <tmunro@postgresql.org>
Sat, 23 Jul 2022 21:32:34 +0000 (09:32 +1200)
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

configure
configure.ac
src/bin/psql/command.c
src/bin/psql/startup.c
src/include/pg_config.h.in
src/tools/msvc/Solution.pm

index 52bcb9d498a857c3c33b1862fab18fb2e2072b72..3e4ab15dc5b0f0a1c4f175acc1473760142c2ea6 100755 (executable)
--- 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
index 9a3483f206ba3fa9ac38e4b82885fa9ed706d35e..ff3ef3cf0bed0d9fcf01f6dd6e5fd61aca95e318 100644 (file)
@@ -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
index 0955142215a6b25c39380d666e2e09f336ca9b87..cac98804ab59268f595a004e95934b33ea41f618 100644 (file)
@@ -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);
index 7c2f555f15c105ad7ae2360786a4308b4d7f5156..e2e5678e2d2cac9ddd55300458295e3091a7d616 100644 (file)
@@ -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
index 9061f301b0516918767bfb42f5ef9a8ff0329b2d..bf42c541dc4418dbb56d2a022745f1f6e05716e1 100644 (file)
    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
 /* 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
 
index 5fa8626af7ff5deff0bd5b70211c84274e93492f..a71a24d435d8cebcbd501d03ec0fd7916ce93c22 100644 (file)
@@ -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,