mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
Remove support for Unix systems without the POSIX signal APIs.
Remove configure's checks for HAVE_POSIX_SIGNALS, HAVE_SIGPROCMASK, and HAVE_SIGSETJMP. These APIs are required by the Single Unix Spec v2 (POSIX 1997), which we generally consider to define our minimum required set of Unix APIs. Moreover, no buildfarm member has reported not having them since 2012 or before, which means that even if the code is still live somewhere, it's untested --- and we've made plenty of signal-handling changes of late. So just take these APIs as given and save the cycles for configure probes for them. However, we can't remove as much C code as I'd hoped, because the Windows port evidently still uses the non-POSIX code paths for signal masking. Since we're largely emulating these BSD-style APIs for Windows anyway, it might be a good thing to switch over to POSIX-like notation and thereby remove a few more #ifdefs. But I'm not in a position to code or test that. In the meantime, we can at least make things a bit more transparent by testing for WIN32 explicitly in these places.
This commit is contained in:
83
configure
vendored
83
configure
vendored
@ -649,7 +649,6 @@ XGETTEXT
|
||||
MSGMERGE
|
||||
MSGFMT_FLAGS
|
||||
MSGFMT
|
||||
HAVE_POSIX_SIGNALS
|
||||
PG_CRC32C_OBJS
|
||||
CFLAGS_SSE42
|
||||
have_win32_dbghelp
|
||||
@ -12289,7 +12288,7 @@ fi
|
||||
LIBS_including_readline="$LIBS"
|
||||
LIBS=`echo "$LIBS" | sed -e 's/-ledit//g' -e 's/-lreadline//g'`
|
||||
|
||||
for ac_func in cbrt dlopen fdatasync getifaddrs getpeerucred getrlimit mbstowcs_l memmove poll pstat pthread_is_threaded_np readlink setproctitle setsid shm_open sigprocmask symlink sync_file_range towlower utime utimes wcstombs wcstombs_l
|
||||
for ac_func in cbrt dlopen fdatasync getifaddrs getpeerucred getrlimit mbstowcs_l memmove poll pstat pthread_is_threaded_np readlink setproctitle setsid shm_open symlink sync_file_range towlower utime utimes wcstombs wcstombs_l
|
||||
do :
|
||||
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
|
||||
@ -13048,38 +13047,6 @@ esac
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigsetjmp" >&5
|
||||
$as_echo_n "checking for sigsetjmp... " >&6; }
|
||||
if ${pgac_cv_func_sigsetjmp+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <setjmp.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
sigjmp_buf x; sigsetjmp(x, 1);
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
pgac_cv_func_sigsetjmp=yes
|
||||
else
|
||||
pgac_cv_func_sigsetjmp=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_func_sigsetjmp" >&5
|
||||
$as_echo "$pgac_cv_func_sigsetjmp" >&6; }
|
||||
if test x"$pgac_cv_func_sigsetjmp" = x"yes"; then
|
||||
|
||||
$as_echo "#define HAVE_SIGSETJMP 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
ac_fn_c_check_decl "$LINENO" "sys_siglist" "ac_cv_have_decl_sys_siglist" "#include <signal.h>
|
||||
/* NetBSD declares sys_siglist in unistd.h. */
|
||||
#ifdef HAVE_UNISTD_H
|
||||
@ -14635,54 +14602,6 @@ fi
|
||||
|
||||
|
||||
|
||||
# Check that POSIX signals are available if thread safety is enabled.
|
||||
if test "$PORTNAME" != "win32"
|
||||
then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for POSIX signal interface" >&5
|
||||
$as_echo_n "checking for POSIX signal interface... " >&6; }
|
||||
if ${pgac_cv_func_posix_signals+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <signal.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
struct sigaction act, oact;
|
||||
sigemptyset(&act.sa_mask);
|
||||
act.sa_flags = SA_RESTART;
|
||||
sigaction(0, &act, &oact);
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
pgac_cv_func_posix_signals=yes
|
||||
else
|
||||
pgac_cv_func_posix_signals=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_func_posix_signals" >&5
|
||||
$as_echo "$pgac_cv_func_posix_signals" >&6; }
|
||||
if test x"$pgac_cv_func_posix_signals" = xyes ; then
|
||||
|
||||
$as_echo "#define HAVE_POSIX_SIGNALS 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
HAVE_POSIX_SIGNALS=$pgac_cv_func_posix_signals
|
||||
|
||||
if test "$pgac_cv_func_posix_signals" != yes -a "$enable_thread_safety" = yes; then
|
||||
as_fn_error $? "
|
||||
Thread-safety requires POSIX signals, which are not supported by this
|
||||
operating system; use --disable-thread-safety to disable thread safety." "$LINENO" 5
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# Select semaphore implementation type.
|
||||
if test "$PORTNAME" != "win32"; then
|
||||
if test x"$USE_NAMED_POSIX_SEMAPHORES" = x"1" ; then
|
||||
|
Reference in New Issue
Block a user