summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlvaro Herrera2016-09-27 04:05:21 +0000
committerAlvaro Herrera2016-09-27 04:05:21 +0000
commit14e2d9a896a87c4731aae3bd71484f0b7a473227 (patch)
tree6c0191db3339799e5d1a6663656d184f16672775
parentf83b72ea4a4a6d02e7d2b26a26973439b741172a (diff)
Include <sys/select.h> where needed
<sys/select.h> is required by POSIX.1-2001 to get the prototype of select(2), but nearly no systems enforce that because older standards let you get away with including some other headers. Recent OpenBSD hacking has removed that frail touch of friendliness, however, which broke some compiles; fix all the way back to 9.1 by adding the required standard. Only vacuumdb.c was reported to fail, but it seems easier to fix the whole lot in a fell swoop. Per bug #14334 by Sean Farrell.
-rw-r--r--src/backend/libpq/auth.c3
-rw-r--r--src/backend/postmaster/pgstat.c3
-rw-r--r--src/bin/pg_basebackup/pg_basebackup.c4
-rw-r--r--src/port/pgsleep.c3
-rw-r--r--src/test/examples/testlibpq2.c4
5 files changed, 16 insertions, 1 deletions
diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c
index 8c6ff8e6efc..58a85348683 100644
--- a/src/backend/libpq/auth.c
+++ b/src/backend/libpq/auth.c
@@ -20,6 +20,9 @@
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
+#ifdef HAVE_SYS_SELECT_H
+#include <sys/select.h>
+#endif
#include "libpq/auth.h"
#include "libpq/crypt.h"
diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c
index 3ee2c07adc2..86b6c4ce6f7 100644
--- a/src/backend/postmaster/pgstat.c
+++ b/src/backend/postmaster/pgstat.c
@@ -34,6 +34,9 @@
#ifdef HAVE_SYS_POLL_H
#include <sys/poll.h>
#endif
+#ifdef HAVE_SYS_SELECT_H
+#include <sys/select.h>
+#endif
#include "pgstat.h"
diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c
index c78b7ec8853..44da062ea17 100644
--- a/src/bin/pg_basebackup/pg_basebackup.c
+++ b/src/bin/pg_basebackup/pg_basebackup.c
@@ -18,7 +18,9 @@
#include <unistd.h>
#include <dirent.h>
#include <sys/stat.h>
-
+#ifdef HAVE_SYS_SELECT_H
+#include <sys/select.h>
+#endif
#ifdef HAVE_LIBZ
#include <zlib.h>
#endif
diff --git a/src/port/pgsleep.c b/src/port/pgsleep.c
index 988bfb05db1..867cf9bf411 100644
--- a/src/port/pgsleep.c
+++ b/src/port/pgsleep.c
@@ -14,6 +14,9 @@
#include <unistd.h>
#include <sys/time.h>
+#ifdef HAVE_SYS_SELECT_H
+#include <sys/select.h>
+#endif
/*
* In a Windows backend, we don't use this implementation, but rather
diff --git a/src/test/examples/testlibpq2.c b/src/test/examples/testlibpq2.c
index 850993f6e82..07c6317a212 100644
--- a/src/test/examples/testlibpq2.c
+++ b/src/test/examples/testlibpq2.c
@@ -34,6 +34,10 @@
#include <errno.h>
#include <sys/time.h>
#include <sys/types.h>
+#ifdef HAVE_SYS_SELECT_H
+#include <sys/select.h>
+#endif
+
#include "libpq-fe.h"
static void