aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2003-04-25 01:24:00 +0000
committerBruce Momjian <bruce@momjian.us>2003-04-25 01:24:00 +0000
commitdb7e46a76dc5ea8f15ed0ca67cc232b5ea38938d (patch)
treee5267da20e29b26b95ba0dcf04ce1b5809d394d1
parent5f677af2da8ca15516758a5b6c3af8565785977d (diff)
downloadpostgresql-db7e46a76dc5ea8f15ed0ca67cc232b5ea38938d.tar.gz
postgresql-db7e46a76dc5ea8f15ed0ca67cc232b5ea38938d.zip
Use closesocket() for all socket/pipe closing, because Win32 requires
it, and map that to close() on Unix.
-rw-r--r--src/backend/libpq/hba.c4
-rw-r--r--src/backend/libpq/pqcomm.c8
-rw-r--r--src/backend/postmaster/pgstat.c16
-rw-r--r--src/include/c.h9
-rw-r--r--src/interfaces/libpq/fe-connect.c26
-rw-r--r--src/interfaces/libpq/fe-exec.c6
-rw-r--r--src/interfaces/libpq/fe-misc.c6
-rw-r--r--src/interfaces/python/pgmodule.c10
8 files changed, 33 insertions, 52 deletions
diff --git a/src/backend/libpq/hba.c b/src/backend/libpq/hba.c
index f607167b6e8..f722bb52716 100644
--- a/src/backend/libpq/hba.c
+++ b/src/backend/libpq/hba.c
@@ -10,7 +10,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/libpq/hba.c,v 1.99 2003/04/17 22:26:01 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/libpq/hba.c,v 1.100 2003/04/25 01:24:00 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1212,7 +1212,7 @@ ident_inet(const struct in_addr remote_ip_addr,
ident_user);
}
}
- close(sock_fd);
+ closesocket(sock_fd);
}
}
return ident_return;
diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c
index 2cf2a36b7b3..bebff365377 100644
--- a/src/backend/libpq/pqcomm.c
+++ b/src/backend/libpq/pqcomm.c
@@ -30,7 +30,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.151 2003/04/22 00:08:06 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.152 2003/04/25 01:24:00 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -150,7 +150,7 @@ pq_close(void)
if (MyProcPort != NULL)
{
secure_close(MyProcPort);
- close(MyProcPort->sock);
+ closesocket(MyProcPort->sock);
/* make sure any subsequent attempts to do I/O fail cleanly */
MyProcPort->sock = -1;
}
@@ -228,7 +228,7 @@ StreamServerPort(int family, char *hostName, unsigned short portNumber,
snprintf(portNumberStr, sizeof(portNumberStr), "%d", portNumber);
service = portNumberStr;
}
-
+
ret = getaddrinfo2(hostName, service, &hint, &addrs);
if (ret || addrs == NULL)
{
@@ -470,7 +470,7 @@ StreamConnection(int server_fd, Port *port)
void
StreamClose(int sock)
{
- close(sock);
+ closesocket(sock);
}
/*
diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c
index 86d47db9efd..c5835226e64 100644
--- a/src/backend/postmaster/pgstat.c
+++ b/src/backend/postmaster/pgstat.c
@@ -16,7 +16,7 @@
*
* Copyright (c) 2001, PostgreSQL Global Development Group
*
- * $Header: /cvsroot/pgsql/src/backend/postmaster/pgstat.c,v 1.32 2003/03/20 03:34:56 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/postmaster/pgstat.c,v 1.33 2003/04/25 01:24:00 momjian Exp $
* ----------
*/
#include "postgres.h"
@@ -235,7 +235,7 @@ pgstat_init(void)
startup_failed:
if (pgStatSock >= 0)
- close(pgStatSock);
+ closesocket(pgStatSock);
pgStatSock = -1;
/* Adjust GUC variables to suppress useless activity */
@@ -359,10 +359,10 @@ void
pgstat_close_sockets(void)
{
if (pgStatPmPipe[0] >= 0)
- close(pgStatPmPipe[0]);
+ closesocket(pgStatPmPipe[0]);
pgStatPmPipe[0] = -1;
if (pgStatPmPipe[1] >= 0)
- close(pgStatPmPipe[1]);
+ closesocket(pgStatPmPipe[1]);
pgStatPmPipe[1] = -1;
}
@@ -1120,7 +1120,7 @@ pgstat_main(void)
* Close the writing end of the postmaster pipe, so we'll see it
* closing when the postmaster terminates and can terminate as well.
*/
- close(pgStatPmPipe[1]);
+ closesocket(pgStatPmPipe[1]);
pgStatPmPipe[1] = -1;
/*
@@ -1167,13 +1167,13 @@ pgstat_main(void)
case 0:
/* child becomes collector process */
- close(pgStatPipe[1]);
- close(pgStatSock);
+ closesocket(pgStatPipe[1]);
+ closesocket(pgStatSock);
break;
default:
/* parent becomes buffer process */
- close(pgStatPipe[0]);
+ closesocket(pgStatPipe[0]);
pgstat_recvbuffer();
exit(0);
}
diff --git a/src/include/c.h b/src/include/c.h
index 833312b9d6a..8352ebac2a4 100644
--- a/src/include/c.h
+++ b/src/include/c.h
@@ -12,7 +12,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: c.h,v 1.139 2003/04/22 02:18:09 momjian Exp $
+ * $Id: c.h,v 1.140 2003/04/25 01:24:00 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -721,6 +721,13 @@ int pgunlink(const char *path);
#define unlink(from, to) pgunlink(from, to)
#endif
+/*
+ * Win32 requires a special close for sockets and pipes, while on Unix
+ * close() does them all.
+ */
+#ifndef WIN32
+#define closesocket close
+#endif
/* These are for things that are one way on Unix and another on NT */
#define NULL_DEV "/dev/null"
diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c
index 6ee2716ec09..a31f34d7a98 100644
--- a/src/interfaces/libpq/fe-connect.c
+++ b/src/interfaces/libpq/fe-connect.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.235 2003/04/24 21:16:44 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.236 2003/04/25 01:24:00 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -956,7 +956,7 @@ retry1:
/* ignore connect() failure if we have more addrs to try */
if (addr_cur->ai_next != NULL)
{
- close(conn->sock);
+ closesocket(conn->sock);
conn->sock = -1;
continue;
}
@@ -1015,11 +1015,7 @@ retry2:
if (conn->Pfdebug)
fprintf(conn->Pfdebug, "Postmaster reports error, attempting fallback to pre-7.0.\n");
pqsecure_close(conn);
-#ifdef WIN32
closesocket(conn->sock);
-#else
- close(conn->sock);
-#endif
conn->sock = -1;
conn->allow_ssl_try = FALSE;
return connectDBStart(conn);
@@ -1056,11 +1052,7 @@ connect_errReturn:
if (conn->sock >= 0)
{
pqsecure_close(conn);
-#ifdef WIN32
closesocket(conn->sock);
-#else
- close(conn->sock);
-#endif
conn->sock = -1;
}
conn->status = CONNECTION_BAD;
@@ -1928,11 +1920,7 @@ freePGconn(PGconn *conn)
if (conn->sock >= 0)
{
pqsecure_close(conn);
-#ifdef WIN32
closesocket(conn->sock);
-#else
- close(conn->sock);
-#endif
}
if (conn->pghost)
free(conn->pghost);
@@ -2003,11 +1991,7 @@ closePGconn(PGconn *conn)
if (conn->sock >= 0)
{
pqsecure_close(conn);
-#ifdef WIN32
closesocket(conn->sock);
-#else
- close(conn->sock);
-#endif
}
conn->sock = -1;
conn->status = CONNECTION_BAD; /* Well, not really _bad_ - just
@@ -2187,11 +2171,10 @@ retry4:
}
/* Sent it, done */
-#ifdef WIN32
closesocket(tmpsock);
+#ifdef WIN32
WSASetLastError(save_errno);
#else
- close(tmpsock);
errno = save_errno;
#endif
@@ -2203,11 +2186,10 @@ cancel_errReturn:
conn->errorMessage.len = strlen(conn->errorMessage.data);
if (tmpsock >= 0)
{
-#ifdef WIN32
closesocket(tmpsock);
+#ifdef WIN32
WSASetLastError(save_errno);
#else
- close(tmpsock);
errno = save_errno;
#endif
}
diff --git a/src/interfaces/libpq/fe-exec.c b/src/interfaces/libpq/fe-exec.c
index 3fe0ddc4920..84520987812 100644
--- a/src/interfaces/libpq/fe-exec.c
+++ b/src/interfaces/libpq/fe-exec.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.131 2003/04/24 21:16:44 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.132 2003/04/25 01:24:00 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1161,11 +1161,7 @@ handleSyncLoss(PGconn *conn, char id, int msgLength)
id, msgLength);
conn->status = CONNECTION_BAD; /* No more connection to backend */
pqsecure_close(conn);
-#ifdef WIN32
closesocket(conn->sock);
-#else
- close(conn->sock);
-#endif
conn->sock = -1;
}
diff --git a/src/interfaces/libpq/fe-misc.c b/src/interfaces/libpq/fe-misc.c
index 76de4a87086..042ef204aba 100644
--- a/src/interfaces/libpq/fe-misc.c
+++ b/src/interfaces/libpq/fe-misc.c
@@ -23,7 +23,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-misc.c,v 1.90 2003/04/22 00:08:07 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-misc.c,v 1.91 2003/04/25 01:24:00 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -681,11 +681,7 @@ definitelyFailed:
"\tbefore or while processing the request.\n"));
conn->status = CONNECTION_BAD; /* No more connection to backend */
pqsecure_close(conn);
-#ifdef WIN32
closesocket(conn->sock);
-#else
- close(conn->sock);
-#endif
conn->sock = -1;
return -1;
diff --git a/src/interfaces/python/pgmodule.c b/src/interfaces/python/pgmodule.c
index b659c99759e..2e81e1c51a5 100644
--- a/src/interfaces/python/pgmodule.c
+++ b/src/interfaces/python/pgmodule.c
@@ -2405,10 +2405,10 @@ pg_inserttable(pgobject * self, PyObject * args)
n = j; /* never used before this assignment */
}
if (n)
- {
+ {
/* allocate buffer */
if (!(buffer = malloc(MAX_BUFFER_SIZE)))
- {
+ {
PyErr_SetString(PyExc_MemoryError,
"can't allocate insert buffer.");
return NULL;
@@ -2438,7 +2438,7 @@ pg_inserttable(pgobject * self, PyObject * args)
getsubitem = PyTuple_GetItem;
else
getsubitem = PyList_GetItem;
-
+
/* builds insert line */
bufpt=buffer;
bufsiz = MAX_BUFFER_SIZE - 1;
@@ -2527,7 +2527,7 @@ pg_inserttable(pgobject * self, PyObject * args)
{
*bufpt++ = '\t'; --bufsiz;
}
-
+
if (bufsiz <= 0)
{
free(buffer);
@@ -2543,7 +2543,7 @@ pg_inserttable(pgobject * self, PyObject * args)
/* sends data */
PQputline(self->cnx, buffer);
}
-
+
/* ends query */
PQputline(self->cnx, "\\.\n");
PQendcopy(self->cnx);