aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/port/win32/socket.c12
-rw-r--r--src/backend/utils/error/elog.c5
2 files changed, 11 insertions, 6 deletions
diff --git a/src/backend/port/win32/socket.c b/src/backend/port/win32/socket.c
index 6fbd1ed6fb4..7c7611a01e2 100644
--- a/src/backend/port/win32/socket.c
+++ b/src/backend/port/win32/socket.c
@@ -120,13 +120,21 @@ TranslateSocketError(void)
case WSAEADDRNOTAVAIL:
errno = EADDRNOTAVAIL;
break;
- case WSAEHOSTUNREACH:
case WSAEHOSTDOWN:
+ errno = EHOSTDOWN;
+ break;
+ case WSAEHOSTUNREACH:
case WSAHOST_NOT_FOUND:
+ errno = EHOSTUNREACH;
+ break;
case WSAENETDOWN:
+ errno = ENETDOWN;
+ break;
case WSAENETUNREACH:
+ errno = ENETUNREACH;
+ break;
case WSAENETRESET:
- errno = EHOSTUNREACH;
+ errno = ENETRESET;
break;
case WSAENOTCONN:
case WSAESHUTDOWN:
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index d0b368530e7..1ba47c194b2 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -711,10 +711,7 @@ errcode_for_socket_access(void)
switch (edata->saved_errno)
{
/* Loss of connection */
- case EPIPE:
-#ifdef ECONNRESET
- case ECONNRESET:
-#endif
+ case ALL_CONNECTION_FAILURE_ERRNOS:
edata->sqlerrcode = ERRCODE_CONNECTION_FAILURE;
break;