Use closesocket() for all socket/pipe closing, because Win32 requires

it, and map that to close() on Unix.
This commit is contained in:
Bruce Momjian 2003-04-25 01:24:00 +00:00
parent 5f677af2da
commit db7e46a76d
8 changed files with 33 additions and 52 deletions

View File

@ -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;

View File

@ -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);
} }
/* /*

View File

@ -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);
} }

View File

@ -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"

View File

@ -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
} }

View File

@ -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;
} }

View File

@ -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;

View File

@ -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);