diff options
author | Magnus Hagander <magnus@hagander.net> | 2007-06-04 13:39:34 +0000 |
---|---|---|
committer | Magnus Hagander <magnus@hagander.net> | 2007-06-04 13:39:34 +0000 |
commit | ca829537451319d9ee0bb782c85e7654fe583a05 (patch) | |
tree | 01d6885c9f1b631991c66110695176eb12763f4a | |
parent | cec960f2e3aedfbcfe81878a0bdc2c4941649401 (diff) | |
download | postgresql-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.c | 3 |
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; |