mirror of https://github.com/postgres/postgres
Remove configure probe for sys/uio.h.
<sys/uio.h> is in SUSv2, and all targeted Unix system have it, so we might as well drop the probe (in fact we never really needed this one). It's where struct iovec is defined, and as a common extension, it's also where non-standard preadv() and pwritev() are declared on systems that have them. We should also be able to assume that IOV_MAX is defined on Unix. To spell out what our pg_iovec.h header does for the OSes in the build farm as of today: Windows: our own struct and functions Solaris, Cygwin: <sys/uio.h>'s struct, our own functions Every other Unix: <sys/uio.h>'s struct and functions Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/CA%2BhUKG%2BL_3brvh%3D8e0BW_VfX9h7MtwgN%3DnFHP5o7X2oZucY9dg%40mail.gmail.com
This commit is contained in:
parent
abf46ad9c7
commit
75357ab940
|
@ -13874,7 +13874,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 net/if.h netinet/tcp.h sys/epoll.h sys/event.h sys/ipc.h sys/personality.h sys/prctl.h sys/procctl.h sys/resource.h sys/select.h sys/sem.h sys/shm.h sys/signalfd.h sys/sockio.h sys/ucred.h sys/uio.h sys/un.h termios.h ucred.h
|
||||
for ac_header in atomic.h copyfile.h execinfo.h getopt.h ifaddrs.h langinfo.h mbarrier.h net/if.h netinet/tcp.h sys/epoll.h sys/event.h sys/ipc.h sys/personality.h sys/prctl.h sys/procctl.h sys/resource.h sys/select.h sys/sem.h sys/shm.h sys/signalfd.h sys/sockio.h sys/ucred.h sys/un.h termios.h ucred.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"
|
||||
|
|
|
@ -1467,7 +1467,6 @@ AC_CHECK_HEADERS(m4_normalize([
|
|||
sys/signalfd.h
|
||||
sys/sockio.h
|
||||
sys/ucred.h
|
||||
sys/uio.h
|
||||
sys/un.h
|
||||
termios.h
|
||||
ucred.h
|
||||
|
|
|
@ -538,9 +538,6 @@
|
|||
/* Define to 1 if you have the <sys/ucred.h> header file. */
|
||||
#undef HAVE_SYS_UCRED_H
|
||||
|
||||
/* Define to 1 if you have the <sys/uio.h> header file. */
|
||||
#undef HAVE_SYS_UIO_H
|
||||
|
||||
/* Define to 1 if you have the <sys/un.h> header file. */
|
||||
#undef HAVE_SYS_UN_H
|
||||
|
||||
|
|
|
@ -13,27 +13,23 @@
|
|||
#ifndef PG_IOVEC_H
|
||||
#define PG_IOVEC_H
|
||||
|
||||
#ifndef WIN32
|
||||
|
||||
#include <limits.h>
|
||||
|
||||
#ifdef HAVE_SYS_UIO_H
|
||||
#include <sys/uio.h>
|
||||
#endif
|
||||
|
||||
/* If <sys/uio.h> is missing, define our own POSIX-compatible iovec struct. */
|
||||
#ifndef HAVE_SYS_UIO_H
|
||||
#else
|
||||
|
||||
/* POSIX requires at least 16 as a maximum iovcnt. */
|
||||
#define IOV_MAX 16
|
||||
|
||||
/* Define our own POSIX-compatible iovec struct. */
|
||||
struct iovec
|
||||
{
|
||||
void *iov_base;
|
||||
size_t iov_len;
|
||||
};
|
||||
#endif
|
||||
|
||||
/*
|
||||
* If <limits.h> didn't define IOV_MAX, define our own. POSIX requires at
|
||||
* least 16.
|
||||
*/
|
||||
#ifndef IOV_MAX
|
||||
#define IOV_MAX 16
|
||||
#endif
|
||||
|
||||
/* Define a reasonable maximum that is safe to use on the stack. */
|
||||
|
|
|
@ -375,7 +375,6 @@ sub GenerateFiles
|
|||
HAVE_SYS_STAT_H => 1,
|
||||
HAVE_SYS_TYPES_H => 1,
|
||||
HAVE_SYS_UCRED_H => undef,
|
||||
HAVE_SYS_UIO_H => undef,
|
||||
HAVE_SYS_UN_H => undef,
|
||||
HAVE_TERMIOS_H => undef,
|
||||
HAVE_TYPEOF => undef,
|
||||
|
|
Loading…
Reference in New Issue