aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus Hagander <magnus@hagander.net>2007-06-04 13:39:34 +0000
committerMagnus Hagander <magnus@hagander.net>2007-06-04 13:39:34 +0000
commitca829537451319d9ee0bb782c85e7654fe583a05 (patch)
tree01d6885c9f1b631991c66110695176eb12763f4a
parentcec960f2e3aedfbcfe81878a0bdc2c4941649401 (diff)
downloadpostgresql-ca829537451319d9ee0bb782c85e7654fe583a05.tar.gz
postgresql-ca829537451319d9ee0bb782c85e7654fe583a05.zip
On win32, retry reading when WSARecv returns WSAEWOULDBLOCK. There seem
to be cases when at least Windows 2000 can do this even though select just indicated that the socket is readable. Per report and analysis from Cyril VELTER.
-rw-r--r--src/backend/port/win32/socket.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/port/win32/socket.c b/src/backend/port/win32/socket.c
index 328c617c231..4c9d7d27ba3 100644
--- a/src/backend/port/win32/socket.c
+++ b/src/backend/port/win32/socket.c
@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/port/win32/socket.c,v 1.10.2.2 2006/10/13 14:00:17 teodor Exp $
+ * $PostgreSQL: pgsql/src/backend/port/win32/socket.c,v 1.10.2.3 2007/06/04 13:39:34 mha Exp $
*
*-------------------------------------------------------------------------
*/
@@ -289,6 +289,7 @@ pgwin32_recv(SOCKET s, char *buf, int len, int f)
int r;
DWORD b;
DWORD flags = f;
+ int n;
if (pgwin32_poll_signals())
return -1;