changeset 9227:37ef53ecd6b0

Adjusted ENOBUFS logging level. On local datagram sockets ENOBUFS might legitimately appear due to insufficient space in socket buffers, as seen on BSD systems. Accordingly, ngx_connection_error() now logs it with logging level set for the particular connection errors, either "info" or "error" (instead of "alert", which was previously used).
author Maxim Dounin <mdounin@mdounin.ru>
date Fri, 01 Mar 2024 05:42:22 +0300
parents c769217b4a5c
children c363ad6b3b23
files src/core/ngx_connection.c src/os/unix/ngx_errno.h src/os/win32/ngx_errno.h
diffstat 3 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/core/ngx_connection.c
+++ b/src/core/ngx_connection.c
@@ -1600,7 +1600,8 @@ ngx_connection_error(ngx_connection_t *c
         || err == NGX_ENETDOWN
         || err == NGX_ENETUNREACH
         || err == NGX_EHOSTDOWN
-        || err == NGX_EHOSTUNREACH)
+        || err == NGX_EHOSTUNREACH
+        || err == NGX_ENOBUFS)
     {
         switch (c->log_error) {
 
--- a/src/os/unix/ngx_errno.h
+++ b/src/os/unix/ngx_errno.h
@@ -55,6 +55,7 @@ typedef int               ngx_err_t;
 #define NGX_ELOOP         ELOOP
 #define NGX_EBADF         EBADF
 #define NGX_EMSGSIZE      EMSGSIZE
+#define NGX_ENOBUFS       ENOBUFS
 
 #if (NGX_HAVE_OPENAT)
 #define NGX_EMLINK        EMLINK
--- a/src/os/win32/ngx_errno.h
+++ b/src/os/win32/ngx_errno.h
@@ -58,6 +58,7 @@ typedef DWORD                      ngx_e
 #define NGX_ELOOP                  0
 #define NGX_EBADF                  WSAEBADF
 #define NGX_EMSGSIZE               WSAEMSGSIZE
+#define NGX_ENOBUFS                WSAENOBUFS
 
 #define NGX_EALREADY               WSAEALREADY
 #define NGX_EINVAL                 WSAEINVAL