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