Use closesocket() for all socket/pipe closing, because Win32 requires
it, and map that to close() on Unix.
This commit is contained in:
parent
5f677af2da
commit
db7e46a76d
|
@ -10,7 +10,7 @@
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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);
|
ident_user);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
close(sock_fd);
|
closesocket(sock_fd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ident_return;
|
return ident_return;
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
|
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
|
||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* 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)
|
if (MyProcPort != NULL)
|
||||||
{
|
{
|
||||||
secure_close(MyProcPort);
|
secure_close(MyProcPort);
|
||||||
close(MyProcPort->sock);
|
closesocket(MyProcPort->sock);
|
||||||
/* make sure any subsequent attempts to do I/O fail cleanly */
|
/* make sure any subsequent attempts to do I/O fail cleanly */
|
||||||
MyProcPort->sock = -1;
|
MyProcPort->sock = -1;
|
||||||
}
|
}
|
||||||
|
@ -228,7 +228,7 @@ StreamServerPort(int family, char *hostName, unsigned short portNumber,
|
||||||
snprintf(portNumberStr, sizeof(portNumberStr), "%d", portNumber);
|
snprintf(portNumberStr, sizeof(portNumberStr), "%d", portNumber);
|
||||||
service = portNumberStr;
|
service = portNumberStr;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = getaddrinfo2(hostName, service, &hint, &addrs);
|
ret = getaddrinfo2(hostName, service, &hint, &addrs);
|
||||||
if (ret || addrs == NULL)
|
if (ret || addrs == NULL)
|
||||||
{
|
{
|
||||||
|
@ -470,7 +470,7 @@ StreamConnection(int server_fd, Port *port)
|
||||||
void
|
void
|
||||||
StreamClose(int sock)
|
StreamClose(int sock)
|
||||||
{
|
{
|
||||||
close(sock);
|
closesocket(sock);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
*
|
*
|
||||||
* Copyright (c) 2001, PostgreSQL Global Development Group
|
* 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"
|
#include "postgres.h"
|
||||||
|
@ -235,7 +235,7 @@ pgstat_init(void)
|
||||||
|
|
||||||
startup_failed:
|
startup_failed:
|
||||||
if (pgStatSock >= 0)
|
if (pgStatSock >= 0)
|
||||||
close(pgStatSock);
|
closesocket(pgStatSock);
|
||||||
pgStatSock = -1;
|
pgStatSock = -1;
|
||||||
|
|
||||||
/* Adjust GUC variables to suppress useless activity */
|
/* Adjust GUC variables to suppress useless activity */
|
||||||
|
@ -359,10 +359,10 @@ void
|
||||||
pgstat_close_sockets(void)
|
pgstat_close_sockets(void)
|
||||||
{
|
{
|
||||||
if (pgStatPmPipe[0] >= 0)
|
if (pgStatPmPipe[0] >= 0)
|
||||||
close(pgStatPmPipe[0]);
|
closesocket(pgStatPmPipe[0]);
|
||||||
pgStatPmPipe[0] = -1;
|
pgStatPmPipe[0] = -1;
|
||||||
if (pgStatPmPipe[1] >= 0)
|
if (pgStatPmPipe[1] >= 0)
|
||||||
close(pgStatPmPipe[1]);
|
closesocket(pgStatPmPipe[1]);
|
||||||
pgStatPmPipe[1] = -1;
|
pgStatPmPipe[1] = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1120,7 +1120,7 @@ pgstat_main(void)
|
||||||
* Close the writing end of the postmaster pipe, so we'll see it
|
* Close the writing end of the postmaster pipe, so we'll see it
|
||||||
* closing when the postmaster terminates and can terminate as well.
|
* closing when the postmaster terminates and can terminate as well.
|
||||||
*/
|
*/
|
||||||
close(pgStatPmPipe[1]);
|
closesocket(pgStatPmPipe[1]);
|
||||||
pgStatPmPipe[1] = -1;
|
pgStatPmPipe[1] = -1;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1167,13 +1167,13 @@ pgstat_main(void)
|
||||||
|
|
||||||
case 0:
|
case 0:
|
||||||
/* child becomes collector process */
|
/* child becomes collector process */
|
||||||
close(pgStatPipe[1]);
|
closesocket(pgStatPipe[1]);
|
||||||
close(pgStatSock);
|
closesocket(pgStatSock);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
/* parent becomes buffer process */
|
/* parent becomes buffer process */
|
||||||
close(pgStatPipe[0]);
|
closesocket(pgStatPipe[0]);
|
||||||
pgstat_recvbuffer();
|
pgstat_recvbuffer();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
|
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
|
||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* 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)
|
#define unlink(from, to) pgunlink(from, to)
|
||||||
#endif
|
#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 */
|
/* These are for things that are one way on Unix and another on NT */
|
||||||
#define NULL_DEV "/dev/null"
|
#define NULL_DEV "/dev/null"
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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 */
|
/* ignore connect() failure if we have more addrs to try */
|
||||||
if (addr_cur->ai_next != NULL)
|
if (addr_cur->ai_next != NULL)
|
||||||
{
|
{
|
||||||
close(conn->sock);
|
closesocket(conn->sock);
|
||||||
conn->sock = -1;
|
conn->sock = -1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -1015,11 +1015,7 @@ retry2:
|
||||||
if (conn->Pfdebug)
|
if (conn->Pfdebug)
|
||||||
fprintf(conn->Pfdebug, "Postmaster reports error, attempting fallback to pre-7.0.\n");
|
fprintf(conn->Pfdebug, "Postmaster reports error, attempting fallback to pre-7.0.\n");
|
||||||
pqsecure_close(conn);
|
pqsecure_close(conn);
|
||||||
#ifdef WIN32
|
|
||||||
closesocket(conn->sock);
|
closesocket(conn->sock);
|
||||||
#else
|
|
||||||
close(conn->sock);
|
|
||||||
#endif
|
|
||||||
conn->sock = -1;
|
conn->sock = -1;
|
||||||
conn->allow_ssl_try = FALSE;
|
conn->allow_ssl_try = FALSE;
|
||||||
return connectDBStart(conn);
|
return connectDBStart(conn);
|
||||||
|
@ -1056,11 +1052,7 @@ connect_errReturn:
|
||||||
if (conn->sock >= 0)
|
if (conn->sock >= 0)
|
||||||
{
|
{
|
||||||
pqsecure_close(conn);
|
pqsecure_close(conn);
|
||||||
#ifdef WIN32
|
|
||||||
closesocket(conn->sock);
|
closesocket(conn->sock);
|
||||||
#else
|
|
||||||
close(conn->sock);
|
|
||||||
#endif
|
|
||||||
conn->sock = -1;
|
conn->sock = -1;
|
||||||
}
|
}
|
||||||
conn->status = CONNECTION_BAD;
|
conn->status = CONNECTION_BAD;
|
||||||
|
@ -1928,11 +1920,7 @@ freePGconn(PGconn *conn)
|
||||||
if (conn->sock >= 0)
|
if (conn->sock >= 0)
|
||||||
{
|
{
|
||||||
pqsecure_close(conn);
|
pqsecure_close(conn);
|
||||||
#ifdef WIN32
|
|
||||||
closesocket(conn->sock);
|
closesocket(conn->sock);
|
||||||
#else
|
|
||||||
close(conn->sock);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
if (conn->pghost)
|
if (conn->pghost)
|
||||||
free(conn->pghost);
|
free(conn->pghost);
|
||||||
|
@ -2003,11 +1991,7 @@ closePGconn(PGconn *conn)
|
||||||
if (conn->sock >= 0)
|
if (conn->sock >= 0)
|
||||||
{
|
{
|
||||||
pqsecure_close(conn);
|
pqsecure_close(conn);
|
||||||
#ifdef WIN32
|
|
||||||
closesocket(conn->sock);
|
closesocket(conn->sock);
|
||||||
#else
|
|
||||||
close(conn->sock);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
conn->sock = -1;
|
conn->sock = -1;
|
||||||
conn->status = CONNECTION_BAD; /* Well, not really _bad_ - just
|
conn->status = CONNECTION_BAD; /* Well, not really _bad_ - just
|
||||||
|
@ -2187,11 +2171,10 @@ retry4:
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Sent it, done */
|
/* Sent it, done */
|
||||||
#ifdef WIN32
|
|
||||||
closesocket(tmpsock);
|
closesocket(tmpsock);
|
||||||
|
#ifdef WIN32
|
||||||
WSASetLastError(save_errno);
|
WSASetLastError(save_errno);
|
||||||
#else
|
#else
|
||||||
close(tmpsock);
|
|
||||||
errno = save_errno;
|
errno = save_errno;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2203,11 +2186,10 @@ cancel_errReturn:
|
||||||
conn->errorMessage.len = strlen(conn->errorMessage.data);
|
conn->errorMessage.len = strlen(conn->errorMessage.data);
|
||||||
if (tmpsock >= 0)
|
if (tmpsock >= 0)
|
||||||
{
|
{
|
||||||
#ifdef WIN32
|
|
||||||
closesocket(tmpsock);
|
closesocket(tmpsock);
|
||||||
|
#ifdef WIN32
|
||||||
WSASetLastError(save_errno);
|
WSASetLastError(save_errno);
|
||||||
#else
|
#else
|
||||||
close(tmpsock);
|
|
||||||
errno = save_errno;
|
errno = save_errno;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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);
|
id, msgLength);
|
||||||
conn->status = CONNECTION_BAD; /* No more connection to backend */
|
conn->status = CONNECTION_BAD; /* No more connection to backend */
|
||||||
pqsecure_close(conn);
|
pqsecure_close(conn);
|
||||||
#ifdef WIN32
|
|
||||||
closesocket(conn->sock);
|
closesocket(conn->sock);
|
||||||
#else
|
|
||||||
close(conn->sock);
|
|
||||||
#endif
|
|
||||||
conn->sock = -1;
|
conn->sock = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* Portions Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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"));
|
"\tbefore or while processing the request.\n"));
|
||||||
conn->status = CONNECTION_BAD; /* No more connection to backend */
|
conn->status = CONNECTION_BAD; /* No more connection to backend */
|
||||||
pqsecure_close(conn);
|
pqsecure_close(conn);
|
||||||
#ifdef WIN32
|
|
||||||
closesocket(conn->sock);
|
closesocket(conn->sock);
|
||||||
#else
|
|
||||||
close(conn->sock);
|
|
||||||
#endif
|
|
||||||
conn->sock = -1;
|
conn->sock = -1;
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -2405,10 +2405,10 @@ pg_inserttable(pgobject * self, PyObject * args)
|
||||||
n = j; /* never used before this assignment */
|
n = j; /* never used before this assignment */
|
||||||
}
|
}
|
||||||
if (n)
|
if (n)
|
||||||
{
|
{
|
||||||
/* allocate buffer */
|
/* allocate buffer */
|
||||||
if (!(buffer = malloc(MAX_BUFFER_SIZE)))
|
if (!(buffer = malloc(MAX_BUFFER_SIZE)))
|
||||||
{
|
{
|
||||||
PyErr_SetString(PyExc_MemoryError,
|
PyErr_SetString(PyExc_MemoryError,
|
||||||
"can't allocate insert buffer.");
|
"can't allocate insert buffer.");
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -2438,7 +2438,7 @@ pg_inserttable(pgobject * self, PyObject * args)
|
||||||
getsubitem = PyTuple_GetItem;
|
getsubitem = PyTuple_GetItem;
|
||||||
else
|
else
|
||||||
getsubitem = PyList_GetItem;
|
getsubitem = PyList_GetItem;
|
||||||
|
|
||||||
/* builds insert line */
|
/* builds insert line */
|
||||||
bufpt=buffer;
|
bufpt=buffer;
|
||||||
bufsiz = MAX_BUFFER_SIZE - 1;
|
bufsiz = MAX_BUFFER_SIZE - 1;
|
||||||
|
@ -2527,7 +2527,7 @@ pg_inserttable(pgobject * self, PyObject * args)
|
||||||
{
|
{
|
||||||
*bufpt++ = '\t'; --bufsiz;
|
*bufpt++ = '\t'; --bufsiz;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bufsiz <= 0)
|
if (bufsiz <= 0)
|
||||||
{
|
{
|
||||||
free(buffer);
|
free(buffer);
|
||||||
|
@ -2543,7 +2543,7 @@ pg_inserttable(pgobject * self, PyObject * args)
|
||||||
/* sends data */
|
/* sends data */
|
||||||
PQputline(self->cnx, buffer);
|
PQputline(self->cnx, buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ends query */
|
/* ends query */
|
||||||
PQputline(self->cnx, "\\.\n");
|
PQputline(self->cnx, "\\.\n");
|
||||||
PQendcopy(self->cnx);
|
PQendcopy(self->cnx);
|
||||||
|
|
Loading…
Reference in New Issue