Index: src/backend/libpq/be-secure.c =================================================================== RCS file: /projects/cvsroot/pgsql-server/src/backend/libpq/be-secure.c,v retrieving revision 1.45 diff -c -r1.45 be-secure.c *** src/backend/libpq/be-secure.c 18 Dec 2003 22:49:26 -0000 1.45 --- src/backend/libpq/be-secure.c 25 Mar 2004 00:12:36 -0000 *************** *** 303,308 **** --- 303,314 ---- #endif n = recv(port->sock, ptr, len, 0); + #ifdef WIN32 + /* Interrupted by socket/APC interaction? */ + if (n < 0 && GetLastError() == ERROR_IO_PENDING) + errno = EINTR; + #endif + return n; } *************** *** 387,392 **** --- 393,422 ---- else #endif n = send(port->sock, ptr, len, 0); + + #ifdef WIN32 + /* Interrupted by socket/APC interaction? */ + if (n < 0 && GetLastError() == ERROR_IO_PENDING) + errno = EINTR; + #endif return n; }