diff options
author | Tom Lane | 2020-02-21 19:04:19 +0000 |
---|---|---|
committer | Tom Lane | 2020-02-21 19:30:47 +0000 |
commit | 481c8e9232386e289fbd3e8f75893ae8d9814298 (patch) | |
tree | 34c0aa0246b7333019d6a8c8326381f6d9599436 | |
parent | f88a058200a40032e88a8bfc1aea453c22d2dcb0 (diff) |
Assume that we have utime() and <utime.h>.
These are required by POSIX since SUSv2, and no live platforms fail
to provide them. On Windows, utime() exists and we bring our own
<utime.h>, so we're good there too. So remove the configure probes
and ad-hoc substitute code. We don't need to check for utimes()
anymore either, since that was only used as a substitute.
In passing, make the Windows build include <sys/utime.h> only where
we need it, not everywhere.
This is part of a series of commits to get rid of no-longer-relevant
configure checks and dead src/port/ code. I'm committing them separately
to make it easier to back out individual changes if they prove less
portable than I expect.
Discussion: https://postgr.es/m/[email protected]
-rwxr-xr-x | configure | 4 | ||||
-rw-r--r-- | configure.in | 3 | ||||
-rw-r--r-- | src/backend/libpq/pqcomm.c | 18 | ||||
-rw-r--r-- | src/backend/utils/init/miscinit.c | 27 | ||||
-rw-r--r-- | src/include/pg_config.h.in | 9 | ||||
-rw-r--r-- | src/include/port/win32_msvc/utime.h | 2 | ||||
-rw-r--r-- | src/include/port/win32_port.h | 1 | ||||
-rw-r--r-- | src/tools/msvc/Solution.pm | 3 |
8 files changed, 8 insertions, 59 deletions
diff --git a/configure b/configure index d746255f25d..e6e8275e807 100755 --- a/configure +++ b/configure @@ -12762,7 +12762,7 @@ $as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h fi -for ac_header in atomic.h copyfile.h execinfo.h getopt.h ifaddrs.h langinfo.h mbarrier.h poll.h sys/epoll.h sys/event.h sys/ipc.h sys/prctl.h sys/procctl.h sys/pstat.h sys/resource.h sys/select.h sys/sem.h sys/shm.h sys/sockio.h sys/tas.h sys/un.h termios.h ucred.h utime.h wchar.h wctype.h +for ac_header in atomic.h copyfile.h execinfo.h getopt.h ifaddrs.h langinfo.h mbarrier.h poll.h sys/epoll.h sys/event.h sys/ipc.h sys/prctl.h sys/procctl.h sys/pstat.h sys/resource.h sys/select.h sys/sem.h sys/shm.h sys/sockio.h sys/tas.h sys/un.h termios.h ucred.h wchar.h wctype.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" @@ -14925,7 +14925,7 @@ fi LIBS_including_readline="$LIBS" LIBS=`echo "$LIBS" | sed -e 's/-ledit//g' -e 's/-lreadline//g'` -for ac_func in backtrace_symbols clock_gettime copyfile fdatasync getifaddrs getpeerucred getrlimit kqueue mbstowcs_l memset_s poll posix_fallocate ppoll pstat pthread_is_threaded_np readlink setproctitle setproctitle_fast setsid shm_open strchrnul strsignal symlink sync_file_range uselocale utime utimes wcstombs_l +for ac_func in backtrace_symbols clock_gettime copyfile fdatasync getifaddrs getpeerucred getrlimit kqueue mbstowcs_l memset_s poll posix_fallocate ppoll pstat pthread_is_threaded_np readlink setproctitle setproctitle_fast setsid shm_open strchrnul strsignal symlink sync_file_range uselocale 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" diff --git a/configure.in b/configure.in index a9c91dadbc1..e8e972231c2 100644 --- a/configure.in +++ b/configure.in @@ -1300,7 +1300,6 @@ AC_CHECK_HEADERS(m4_normalize([ sys/un.h termios.h ucred.h - utime.h wchar.h wctype.h ])) @@ -1642,8 +1641,6 @@ AC_CHECK_FUNCS(m4_normalize([ symlink sync_file_range uselocale - utime - utimes wcstombs_l ])) diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c index 10bf13f997d..7717bb27195 100644 --- a/src/backend/libpq/pqcomm.c +++ b/src/backend/libpq/pqcomm.c @@ -81,9 +81,7 @@ #ifdef HAVE_NETINET_TCP_H #include <netinet/tcp.h> #endif -#ifdef HAVE_UTIME_H #include <utime.h> -#endif #ifdef _MSC_VER /* mstcpip.h is missing on mingw */ #include <mstcpip.h> #endif @@ -866,20 +864,8 @@ TouchSocketFiles(void) { char *sock_path = (char *) lfirst(l); - /* - * utime() is POSIX standard, utimes() is a common alternative. If we - * have neither, there's no way to affect the mod or access time of - * the socket :-( - * - * In either path, we ignore errors; there's no point in complaining. - */ -#ifdef HAVE_UTIME - utime(sock_path, NULL); -#else /* !HAVE_UTIME */ -#ifdef HAVE_UTIMES - utimes(sock_path, NULL); -#endif /* HAVE_UTIMES */ -#endif /* HAVE_UTIME */ + /* Ignore errors; there's no point in complaining */ + (void) utime(sock_path, NULL); } } diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c index c7c9bef617e..b02bad44203 100644 --- a/src/backend/utils/init/miscinit.c +++ b/src/backend/utils/init/miscinit.c @@ -26,9 +26,7 @@ #include <pwd.h> #include <netinet/in.h> #include <arpa/inet.h> -#ifdef HAVE_UTIME_H #include <utime.h> -#endif #include "access/htup_details.h" #include "catalog/pg_authid.h" @@ -1213,29 +1211,8 @@ TouchSocketLockFiles(void) if (strcmp(socketLockFile, DIRECTORY_LOCK_FILE) == 0) continue; - /* - * utime() is POSIX standard, utimes() is a common alternative; if we - * have neither, fall back to actually reading the file (which only - * sets the access time not mod time, but that should be enough in - * most cases). In all paths, we ignore errors. - */ -#ifdef HAVE_UTIME - utime(socketLockFile, NULL); -#else /* !HAVE_UTIME */ -#ifdef HAVE_UTIMES - utimes(socketLockFile, NULL); -#else /* !HAVE_UTIMES */ - int fd; - char buffer[1]; - - fd = open(socketLockFile, O_RDONLY | PG_BINARY, 0); - if (fd >= 0) - { - read(fd, buffer, sizeof(buffer)); - close(fd); - } -#endif /* HAVE_UTIMES */ -#endif /* HAVE_UTIME */ + /* we just ignore any error here */ + (void) utime(socketLockFile, NULL); } } diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index e3e74728204..20700cb85a9 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -662,15 +662,6 @@ /* Define to 1 if you have the `uselocale' function. */ #undef HAVE_USELOCALE -/* Define to 1 if you have the `utime' function. */ -#undef HAVE_UTIME - -/* Define to 1 if you have the `utimes' function. */ -#undef HAVE_UTIMES - -/* Define to 1 if you have the <utime.h> header file. */ -#undef HAVE_UTIME_H - /* Define to 1 if you have BSD UUID support. */ #undef HAVE_UUID_BSD diff --git a/src/include/port/win32_msvc/utime.h b/src/include/port/win32_msvc/utime.h index dd1b103eaef..c78e79c33d3 100644 --- a/src/include/port/win32_msvc/utime.h +++ b/src/include/port/win32_msvc/utime.h @@ -1 +1,3 @@ /* src/include/port/win32_msvc/utime.h */ + +#include <sys/utime.h> /* for non-unicode version */ diff --git a/src/include/port/win32_port.h b/src/include/port/win32_port.h index 91ec01468e8..8b6576b23dc 100644 --- a/src/include/port/win32_port.h +++ b/src/include/port/win32_port.h @@ -50,7 +50,6 @@ #include <process.h> #include <signal.h> #include <direct.h> -#include <sys/utime.h> /* for non-unicode version */ #undef near #include <sys/stat.h> /* needed before sys/stat hacking below */ diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm index cb03d03a971..151a41ad5b6 100644 --- a/src/tools/msvc/Solution.pm +++ b/src/tools/msvc/Solution.pm @@ -390,9 +390,6 @@ sub GenerateFiles HAVE_UNIX_SOCKETS => undef, HAVE_UNSETENV => undef, HAVE_USELOCALE => undef, - HAVE_UTIME => 1, - HAVE_UTIMES => undef, - HAVE_UTIME_H => 1, HAVE_UUID_BSD => undef, HAVE_UUID_E2FS => undef, HAVE_UUID_OSSP => undef, |