diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c index b5be4baa44..360524f50a 100644 --- a/src/backend/libpq/pqcomm.c +++ b/src/backend/libpq/pqcomm.c @@ -30,7 +30,7 @@ * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/libpq/pqcomm.c,v 1.211 2010/07/08 10:20:12 mha Exp $ + * $PostgreSQL: pgsql/src/backend/libpq/pqcomm.c,v 1.212 2010/07/08 16:19:50 mha Exp $ * *------------------------------------------------------------------------- */ @@ -83,7 +83,7 @@ #ifdef HAVE_UTIME_H #include #endif -#ifdef WIN32 +#ifdef WIN32_ONLY_COMPILER /* mstcpip.h is missing on mingw */ #include #endif @@ -1323,7 +1323,7 @@ pq_endcopyout(bool errorAbort) * actually set them to zero, not default), therefor we fallback to * the out-of-the-box default instead. */ -#ifdef WIN32 +#if defined(WIN32) && defined(SIO_KEEPALIVE_VALS) static int pq_setkeepaliveswin32(Port *port, int idle, int interval) { @@ -1412,7 +1412,7 @@ pq_setkeepalivesidle(int idle, Port *port) if (port == NULL || IS_AF_UNIX(port->laddr.addr.ss_family)) return STATUS_OK; -#if defined(TCP_KEEPIDLE) || defined(TCP_KEEPALIVE) || defined(WIN32) +#if defined(TCP_KEEPIDLE) || defined(TCP_KEEPALIVE) || defined(SIO_KEEPALIVE_VALS) if (idle == port->keepalives_idle) return STATUS_OK; @@ -1451,7 +1451,7 @@ pq_setkeepalivesidle(int idle, Port *port) #else /* WIN32 */ return pq_setkeepaliveswin32(port, idle, port->keepalives_interval); #endif -#else /* TCP_KEEPIDLE || WIN32 */ +#else /* TCP_KEEPIDLE || SIO_KEEPALIVE_VALS */ if (idle != 0) { elog(LOG, "setting the keepalive idle time is not supported"); @@ -1464,7 +1464,7 @@ pq_setkeepalivesidle(int idle, Port *port) int pq_getkeepalivesinterval(Port *port) { -#if defined(TCP_KEEPINTVL) || defined(WIN32) +#if defined(TCP_KEEPINTVL) || defined(SIO_KEEPALIVE_VALS) if (port == NULL || IS_AF_UNIX(port->laddr.addr.ss_family)) return 0; @@ -1501,7 +1501,7 @@ pq_setkeepalivesinterval(int interval, Port *port) if (port == NULL || IS_AF_UNIX(port->laddr.addr.ss_family)) return STATUS_OK; -#if defined(TCP_KEEPINTVL) || defined (WIN32) +#if defined(TCP_KEEPINTVL) || defined (SIO_KEEPALIVE_VALS) if (interval == port->keepalives_interval) return STATUS_OK; diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index 5f671f3299..4c59ca6834 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/interfaces/libpq/fe-connect.c,v 1.397 2010/07/08 10:20:12 mha Exp $ + * $PostgreSQL: pgsql/src/interfaces/libpq/fe-connect.c,v 1.398 2010/07/08 16:19:50 mha Exp $ * *------------------------------------------------------------------------- */ @@ -38,7 +38,9 @@ #endif #define near #include +#ifdef WIN32_ONLY_COMPILER /* mstcpip.h is missing on mingw */ #include +#endif #else #include #include @@ -1093,6 +1095,7 @@ setKeepalivesCount(PGconn *conn) } #else /* Win32 */ +#ifdef SIO_KEEPALIVE_VALS /* * Enable keepalives and set the keepalive values on Win32, * where they are always set in one batch. @@ -1137,6 +1140,7 @@ setKeepalivesWin32(PGconn *conn) } return 1; } +#endif /* SIO_KEEPALIVE_VALS */ #endif /* WIN32 */ /* ---------- @@ -1555,8 +1559,10 @@ keep_going: /* We will come back to here until there is || !setKeepalivesCount(conn)) err = 1; #else /* WIN32 */ +#ifdef SIO_KEEPALIVE_VALS else if (!setKeepalivesWin32(conn)) err = 1; +#endif /* SIO_KEEPALIVE_VALS */ #endif /* WIN32 */ if (err)