changeset 1869:192443881e51

add NGX_ENETDOWN, NGX_ENETUNREACH, and NGX_EHOSTDOWN
author Igor Sysoev <igor@sysoev.ru>
date Fri, 25 Jan 2008 14:57:35 +0000
parents c2cd0720f292
children a62fb6c156c5
files src/core/ngx_connection.c src/event/ngx_event_connect.c src/event/ngx_event_openssl.c src/os/unix/ngx_errno.h src/os/win32/ngx_errno.h
diffstat 5 files changed, 19 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/core/ngx_connection.c
+++ b/src/core/ngx_connection.c
@@ -767,6 +767,9 @@ ngx_connection_error(ngx_connection_t *c
         || err == NGX_ENOTCONN
         || err == NGX_ETIMEDOUT
         || err == NGX_ECONNREFUSED
+        || err == NGX_ENETDOWN
+        || err == NGX_ENETUNREACH
+        || err == NGX_EHOSTDOWN
         || err == NGX_EHOSTUNREACH)
     {
         switch (c->log_error) {
--- a/src/event/ngx_event_connect.c
+++ b/src/event/ngx_event_connect.c
@@ -143,8 +143,14 @@ ngx_event_connect_peer(ngx_peer_connecti
 
         if (err != NGX_EINPROGRESS && err != NGX_EAGAIN) {
 
-            if (err == NGX_ECONNREFUSED || err == NGX_EHOSTUNREACH) {
+            if (err == NGX_ECONNREFUSED
+                || err == NGX_ENETDOWN
+                || err == NGX_ENETUNREACH
+                || err == NGX_EHOSTDOWN
+                || err == NGX_EHOSTUNREACH)
+            {
                 level = NGX_LOG_ERR;
+
             } else {
                 level = NGX_LOG_CRIT;
             }
--- a/src/event/ngx_event_openssl.c
+++ b/src/event/ngx_event_openssl.c
@@ -1121,6 +1121,9 @@ ngx_ssl_connection_error(ngx_connection_
             || err == NGX_ETIMEDOUT
 #endif
             || err == NGX_ECONNREFUSED
+            || err == NGX_ENETDOWN
+            || err == NGX_ENETUNREACH
+            || err == NGX_EHOSTDOWN
             || err == NGX_EHOSTUNREACH)
         {
             switch (c->log_error) {
--- a/src/os/unix/ngx_errno.h
+++ b/src/os/unix/ngx_errno.h
@@ -37,6 +37,9 @@ typedef int               ngx_err_t;
 #define NGX_ETIMEDOUT     ETIMEDOUT
 #define NGX_ECONNREFUSED  ECONNREFUSED
 #define NGX_ENAMETOOLONG  ENAMETOOLONG
+#define NGX_ENETDOWN      ENETDOWN
+#define NGX_ENETUNREACH   ENETUNREACH
+#define NGX_EHOSTDOWN     EHOSTDOWN
 #define NGX_EHOSTUNREACH  EHOSTUNREACH
 #define NGX_ENOSYS        ENOSYS
 #define NGX_ECANCELED     ECANCELED
--- a/src/os/win32/ngx_errno.h
+++ b/src/os/win32/ngx_errno.h
@@ -40,6 +40,9 @@ typedef DWORD                      ngx_e
 #define NGX_ETIMEDOUT              WSAETIMEDOUT
 #define NGX_ECONNREFUSED           WSAECONNREFUSED
 #define NGX_ENAMETOOLONG           ERROR_BAD_PATHNAME
+#define NGX_ENETDOWN               WSAENETDOWN
+#define NGX_ENETUNREACH            WSAENETUNREACH
+#define NGX_EHOSTDOWN              WSAEHOSTDOWN
 #define NGX_EHOSTUNREACH           WSAEHOSTUNREACH
 #define NGX_ENOMOREFILES           ERROR_NO_MORE_FILES