mirror of
https://github.com/postgres/postgres.git
synced 2025-04-22 23:02:54 +03:00
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
This commit is contained in:
parent
86e5eb4f58
commit
fb12becdfb
64
configure
vendored
64
configure
vendored
@ -16394,11 +16394,9 @@ $as_echo "#define HAVE_FSEEKO 1" >>confdefs.h
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Make sure there's a declaration for sigwait(), then make sure
|
# posix_fadvise() is a no-op on Solaris, so don't incur function overhead
|
||||||
# that it conforms to the POSIX standard (there seem to still be
|
# by calling it, 2009-04-02
|
||||||
# some platforms out there with pre-POSIX sigwait()). On Solaris,
|
# http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libc/port/gen/posix_fadvise.c
|
||||||
# _POSIX_PTHREAD_SEMANTICS affects the result, but we already
|
|
||||||
# added that to CPPFLAGS.
|
|
||||||
# The Clang compiler raises a warning for an undeclared identifier that matches
|
# The Clang compiler raises a warning for an undeclared identifier that matches
|
||||||
# a compiler builtin function. All extant Clang versions are affected, as of
|
# 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
|
# 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= ;;
|
*) ac_c_decl_warn_flag= ;;
|
||||||
esac
|
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 :
|
if test "$PORTNAME" != "solaris"; then :
|
||||||
|
|
||||||
for ac_func in posix_fadvise
|
for ac_func in posix_fadvise
|
||||||
|
27
configure.ac
27
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.
|
# in case it finds that _LARGEFILE_SOURCE has to be #define'd for that.
|
||||||
AC_FUNC_FSEEKO
|
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
|
# posix_fadvise() is a no-op on Solaris, so don't incur function overhead
|
||||||
# by calling it, 2009-04-02
|
# by calling it, 2009-04-02
|
||||||
# http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libc/port/gen/posix_fadvise.c
|
# http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libc/port/gen/posix_fadvise.c
|
||||||
|
@ -4953,7 +4953,7 @@ do_watch(PQExpBuffer query_buf, double sleep)
|
|||||||
FILE *pagerpipe = NULL;
|
FILE *pagerpipe = NULL;
|
||||||
int title_len;
|
int title_len;
|
||||||
int res = 0;
|
int res = 0;
|
||||||
#ifdef HAVE_POSIX_DECL_SIGWAIT
|
#ifndef WIN32
|
||||||
sigset_t sigalrm_sigchld_sigint;
|
sigset_t sigalrm_sigchld_sigint;
|
||||||
sigset_t sigalrm_sigchld;
|
sigset_t sigalrm_sigchld;
|
||||||
sigset_t sigint;
|
sigset_t sigint;
|
||||||
@ -4967,7 +4967,7 @@ do_watch(PQExpBuffer query_buf, double sleep)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_POSIX_DECL_SIGWAIT
|
#ifndef WIN32
|
||||||
sigemptyset(&sigalrm_sigchld_sigint);
|
sigemptyset(&sigalrm_sigchld_sigint);
|
||||||
sigaddset(&sigalrm_sigchld_sigint, SIGCHLD);
|
sigaddset(&sigalrm_sigchld_sigint, SIGCHLD);
|
||||||
sigaddset(&sigalrm_sigchld_sigint, SIGALRM);
|
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
|
* PAGER environment variables, because traditional pagers probably won't
|
||||||
* be very useful for showing a stream of results.
|
* be very useful for showing a stream of results.
|
||||||
*/
|
*/
|
||||||
#ifdef HAVE_POSIX_DECL_SIGWAIT
|
#ifndef WIN32
|
||||||
pagerprog = getenv("PSQL_WATCH_PAGER");
|
pagerprog = getenv("PSQL_WATCH_PAGER");
|
||||||
#endif
|
#endif
|
||||||
if (pagerprog && myopt.topt.pager)
|
if (pagerprog && myopt.topt.pager)
|
||||||
@ -5077,7 +5077,7 @@ do_watch(PQExpBuffer query_buf, double sleep)
|
|||||||
if (pagerpipe && ferror(pagerpipe))
|
if (pagerpipe && ferror(pagerpipe))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#ifndef HAVE_POSIX_DECL_SIGWAIT
|
#ifdef WIN32
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set up cancellation of 'watch' via SIGINT. We redo this each time
|
* 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);
|
fflush(stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_POSIX_DECL_SIGWAIT
|
#ifndef WIN32
|
||||||
/* Disable the interval timer. */
|
/* Disable the interval timer. */
|
||||||
memset(&interval, 0, sizeof(interval));
|
memset(&interval, 0, sizeof(interval));
|
||||||
setitimer(ITIMER_REAL, &interval, NULL);
|
setitimer(ITIMER_REAL, &interval, NULL);
|
||||||
|
@ -110,7 +110,7 @@ log_locus_callback(const char **filename, uint64 *lineno)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_POSIX_DECL_SIGWAIT
|
#ifndef WIN32
|
||||||
static void
|
static void
|
||||||
empty_signal_handler(SIGNAL_ARGS)
|
empty_signal_handler(SIGNAL_ARGS)
|
||||||
{
|
{
|
||||||
@ -308,7 +308,7 @@ main(int argc, char *argv[])
|
|||||||
|
|
||||||
psql_setup_cancel_handler();
|
psql_setup_cancel_handler();
|
||||||
|
|
||||||
#ifdef HAVE_POSIX_DECL_SIGWAIT
|
#ifndef WIN32
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* do_watch() needs signal handlers installed (otherwise sigwait() will
|
* do_watch() needs signal handlers installed (otherwise sigwait() will
|
||||||
|
@ -149,10 +149,6 @@
|
|||||||
don't. */
|
don't. */
|
||||||
#undef HAVE_DECL_RTLD_NOW
|
#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
|
/* Define to 1 if you have the declaration of `strlcat', and to 0 if you
|
||||||
don't. */
|
don't. */
|
||||||
#undef HAVE_DECL_STRLCAT
|
#undef HAVE_DECL_STRLCAT
|
||||||
@ -406,9 +402,6 @@
|
|||||||
/* Define to 1 if you have the <poll.h> header file. */
|
/* Define to 1 if you have the <poll.h> header file. */
|
||||||
#undef HAVE_POLL_H
|
#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. */
|
/* Define to 1 if you have the `posix_fadvise' function. */
|
||||||
#undef HAVE_POSIX_FADVISE
|
#undef HAVE_POSIX_FADVISE
|
||||||
|
|
||||||
|
@ -246,7 +246,6 @@ sub GenerateFiles
|
|||||||
HAVE_DECL_PWRITEV => 0,
|
HAVE_DECL_PWRITEV => 0,
|
||||||
HAVE_DECL_RTLD_GLOBAL => 0,
|
HAVE_DECL_RTLD_GLOBAL => 0,
|
||||||
HAVE_DECL_RTLD_NOW => 0,
|
HAVE_DECL_RTLD_NOW => 0,
|
||||||
HAVE_DECL_SIGWAIT => 0,
|
|
||||||
HAVE_DECL_STRLCAT => 0,
|
HAVE_DECL_STRLCAT => 0,
|
||||||
HAVE_DECL_STRLCPY => 0,
|
HAVE_DECL_STRLCPY => 0,
|
||||||
HAVE_DECL_STRNLEN => 1,
|
HAVE_DECL_STRNLEN => 1,
|
||||||
@ -329,7 +328,6 @@ sub GenerateFiles
|
|||||||
HAVE_PAM_PAM_APPL_H => undef,
|
HAVE_PAM_PAM_APPL_H => undef,
|
||||||
HAVE_POLL => undef,
|
HAVE_POLL => undef,
|
||||||
HAVE_POLL_H => undef,
|
HAVE_POLL_H => undef,
|
||||||
HAVE_POSIX_DECL_SIGWAIT => undef,
|
|
||||||
HAVE_POSIX_FADVISE => undef,
|
HAVE_POSIX_FADVISE => undef,
|
||||||
HAVE_POSIX_FALLOCATE => undef,
|
HAVE_POSIX_FALLOCATE => undef,
|
||||||
HAVE_PPC_LWARX_MUTEX_HINT => undef,
|
HAVE_PPC_LWARX_MUTEX_HINT => undef,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user