Index: src/backend/libpq/hba.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/libpq/hba.c,v
retrieving revision 1.99
diff -c -c -r1.99 hba.c
*** src/backend/libpq/hba.c	17 Apr 2003 22:26:01 -0000	1.99
--- src/backend/libpq/hba.c	25 Apr 2003 01:16:51 -0000
***************
*** 1212,1218 ****
  															ident_user);
  				}
  			}
! 			close(sock_fd);
  		}
  	}
  	return ident_return;
--- 1212,1218 ----
  															ident_user);
  				}
  			}
! 			closesocket(sock_fd);
  		}
  	}
  	return ident_return;
Index: src/backend/libpq/pqcomm.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/libpq/pqcomm.c,v
retrieving revision 1.151
diff -c -c -r1.151 pqcomm.c
*** src/backend/libpq/pqcomm.c	22 Apr 2003 00:08:06 -0000	1.151
--- src/backend/libpq/pqcomm.c	25 Apr 2003 01:16:52 -0000
***************
*** 150,156 ****
  	if (MyProcPort != NULL)
  	{
  		secure_close(MyProcPort);
! 		close(MyProcPort->sock);
  		/* make sure any subsequent attempts to do I/O fail cleanly */
  		MyProcPort->sock = -1;
  	}
--- 150,156 ----
  	if (MyProcPort != NULL)
  	{
  		secure_close(MyProcPort);
! 		closesocket(MyProcPort->sock);
  		/* make sure any subsequent attempts to do I/O fail cleanly */
  		MyProcPort->sock = -1;
  	}
***************
*** 228,234 ****
  		snprintf(portNumberStr, sizeof(portNumberStr), "%d", portNumber);
  		service = portNumberStr;
  	}
! 	
  	ret = getaddrinfo2(hostName, service, &hint, &addrs);
  	if (ret || addrs == NULL)
  	{
--- 228,234 ----
  		snprintf(portNumberStr, sizeof(portNumberStr), "%d", portNumber);
  		service = portNumberStr;
  	}
! 
  	ret = getaddrinfo2(hostName, service, &hint, &addrs);
  	if (ret || addrs == NULL)
  	{
***************
*** 470,476 ****
  void
  StreamClose(int sock)
  {
! 	close(sock);
  }
  
  /*
--- 470,476 ----
  void
  StreamClose(int sock)
  {
! 	closesocket(sock);
  }
  
  /*
Index: src/backend/postmaster/pgstat.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/postmaster/pgstat.c,v
retrieving revision 1.32
diff -c -c -r1.32 pgstat.c
*** src/backend/postmaster/pgstat.c	20 Mar 2003 03:34:56 -0000	1.32
--- src/backend/postmaster/pgstat.c	25 Apr 2003 01:16:53 -0000
***************
*** 235,241 ****
  
  startup_failed:
  	if (pgStatSock >= 0)
! 		close(pgStatSock);
  	pgStatSock = -1;
  
  	/* Adjust GUC variables to suppress useless activity */
--- 235,241 ----
  
  startup_failed:
  	if (pgStatSock >= 0)
! 		closesocket(pgStatSock);
  	pgStatSock = -1;
  
  	/* Adjust GUC variables to suppress useless activity */
***************
*** 359,368 ****
  pgstat_close_sockets(void)
  {
  	if (pgStatPmPipe[0] >= 0)
! 		close(pgStatPmPipe[0]);
  	pgStatPmPipe[0] = -1;
  	if (pgStatPmPipe[1] >= 0)
! 		close(pgStatPmPipe[1]);
  	pgStatPmPipe[1] = -1;
  }
  
--- 359,368 ----
  pgstat_close_sockets(void)
  {
  	if (pgStatPmPipe[0] >= 0)
! 		closesocket(pgStatPmPipe[0]);
  	pgStatPmPipe[0] = -1;
  	if (pgStatPmPipe[1] >= 0)
! 		closesocket(pgStatPmPipe[1]);
  	pgStatPmPipe[1] = -1;
  }
  
***************
*** 1120,1126 ****
  	 * 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]);
  	pgStatPmPipe[1] = -1;
  
  	/*
--- 1120,1126 ----
  	 * Close the writing end of the postmaster pipe, so we'll see it
  	 * closing when the postmaster terminates and can terminate as well.
  	 */
! 	closesocket(pgStatPmPipe[1]);
  	pgStatPmPipe[1] = -1;
  
  	/*
***************
*** 1167,1179 ****
  
  		case 0:
  			/* child becomes collector process */
! 			close(pgStatPipe[1]);
! 			close(pgStatSock);
  			break;
  
  		default:
  			/* parent becomes buffer process */
! 			close(pgStatPipe[0]);
  			pgstat_recvbuffer();
  			exit(0);
  	}
--- 1167,1179 ----
  
  		case 0:
  			/* child becomes collector process */
! 			closesocket(pgStatPipe[1]);
! 			closesocket(pgStatSock);
  			break;
  
  		default:
  			/* parent becomes buffer process */
! 			closesocket(pgStatPipe[0]);
  			pgstat_recvbuffer();
  			exit(0);
  	}
Index: src/include/c.h
===================================================================
RCS file: /cvsroot/pgsql-server/src/include/c.h,v
retrieving revision 1.139
diff -c -c -r1.139 c.h
*** src/include/c.h	22 Apr 2003 02:18:09 -0000	1.139
--- src/include/c.h	25 Apr 2003 01:16:55 -0000
***************
*** 721,726 ****
--- 721,733 ----
  #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"
Index: src/interfaces/libpq/fe-connect.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/interfaces/libpq/fe-connect.c,v
retrieving revision 1.234
diff -c -c -r1.234 fe-connect.c
*** src/interfaces/libpq/fe-connect.c	22 Apr 2003 00:08:07 -0000	1.234
--- src/interfaces/libpq/fe-connect.c	25 Apr 2003 01:16:58 -0000
***************
*** 956,962 ****
  		/* ignore connect() failure if we have more addrs to try */
  		if (addr_cur->ai_next != NULL)
  		{
! 			close(conn->sock);
  			conn->sock = -1;
  			continue;
  		}
--- 956,962 ----
  		/* ignore connect() failure if we have more addrs to try */
  		if (addr_cur->ai_next != NULL)
  		{
! 			closesocket(conn->sock);
  			conn->sock = -1;
  			continue;
  		}
***************
*** 1015,1025 ****
  			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);
--- 1015,1021 ----
***************
*** 1056,1066 ****
  	if (conn->sock >= 0)
  	{
  		pqsecure_close(conn);
- #ifdef WIN32
  		closesocket(conn->sock);
- #else
- 		close(conn->sock);
- #endif
  		conn->sock = -1;
  	}
  	conn->status = CONNECTION_BAD;
--- 1052,1058 ----
***************
*** 1935,1945 ****
  	if (conn->sock >= 0)
  	{
  		pqsecure_close(conn);
- #ifdef WIN32
  		closesocket(conn->sock);
- #else
- 		close(conn->sock);
- #endif
  	}
  	if (conn->pghost)
  		free(conn->pghost);
--- 1927,1933 ----
***************
*** 2010,2020 ****
  	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
--- 1998,2004 ----
***************
*** 2194,2204 ****
  	}
  
  	/* Sent it, done */
- #ifdef WIN32
  	closesocket(tmpsock);
  	WSASetLastError(save_errno);
  #else
- 	close(tmpsock);
  	errno = save_errno;
  #endif
  
--- 2178,2187 ----
  	}
  
  	/* Sent it, done */
  	closesocket(tmpsock);
+ #ifdef WIN32
  	WSASetLastError(save_errno);
  #else
  	errno = save_errno;
  #endif
  
***************
*** 2210,2220 ****
  	conn->errorMessage.len = strlen(conn->errorMessage.data);
  	if (tmpsock >= 0)
  	{
- #ifdef WIN32
  		closesocket(tmpsock);
  		WSASetLastError(save_errno);
  #else
- 		close(tmpsock);
  		errno = save_errno;
  #endif
  	}
--- 2193,2202 ----
  	conn->errorMessage.len = strlen(conn->errorMessage.data);
  	if (tmpsock >= 0)
  	{
  		closesocket(tmpsock);
+ #ifdef WIN32
  		WSASetLastError(save_errno);
  #else
  		errno = save_errno;
  #endif
  	}
Index: src/interfaces/libpq/fe-exec.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/interfaces/libpq/fe-exec.c,v
retrieving revision 1.130
diff -c -c -r1.130 fe-exec.c
*** src/interfaces/libpq/fe-exec.c	22 Apr 2003 00:08:07 -0000	1.130
--- src/interfaces/libpq/fe-exec.c	25 Apr 2003 01:17:00 -0000
***************
*** 1154,1164 ****
  					  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;
  }
  
--- 1154,1160 ----
Index: src/interfaces/libpq/fe-misc.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/interfaces/libpq/fe-misc.c,v
retrieving revision 1.90
diff -c -c -r1.90 fe-misc.c
*** src/interfaces/libpq/fe-misc.c	22 Apr 2003 00:08:07 -0000	1.90
--- src/interfaces/libpq/fe-misc.c	25 Apr 2003 01:17:01 -0000
***************
*** 681,691 ****
  						 "\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;
--- 681,687 ----
Index: src/interfaces/python/pgmodule.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/interfaces/python/pgmodule.c,v
retrieving revision 1.45
diff -c -c -r1.45 pgmodule.c
*** src/interfaces/python/pgmodule.c	25 Mar 2003 02:44:36 -0000	1.45
--- src/interfaces/python/pgmodule.c	25 Apr 2003 01:17:03 -0000
***************
*** 2405,2414 ****
  				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;
--- 2405,2414 ----
  				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,2444 ****
  					getsubitem = PyTuple_GetItem;
  				else
  					getsubitem = PyList_GetItem;
! 	
  				/* builds insert line */
  				bufpt=buffer;
  				bufsiz = MAX_BUFFER_SIZE - 1;
--- 2438,2444 ----
  					getsubitem = PyTuple_GetItem;
  				else
  					getsubitem = PyList_GetItem;
! 
  				/* builds insert line */
  				bufpt=buffer;
  				bufsiz = MAX_BUFFER_SIZE - 1;
***************
*** 2527,2533 ****
  					{
  						*bufpt++ = '\t'; --bufsiz;
  					}
! 			
  					if (bufsiz <= 0)
  					{
  						free(buffer);
--- 2527,2533 ----
  					{
  						*bufpt++ = '\t'; --bufsiz;
  					}
! 
  					if (bufsiz <= 0)
  					{
  						free(buffer);
***************
*** 2543,2549 ****
  				/* sends data */
  				PQputline(self->cnx, buffer);
  			}
! 	
  			/* ends query */
  			PQputline(self->cnx, "\\.\n");
  			PQendcopy(self->cnx);
--- 2543,2549 ----
  				/* sends data */
  				PQputline(self->cnx, buffer);
  			}
! 
  			/* ends query */
  			PQputline(self->cnx, "\\.\n");
  			PQendcopy(self->cnx);
