From: Oskar Eichler <62393985+OskarEichler@users.noreply.github.com> Date: Fri, 4 Sep 2026 15:52:07 +0000 (+0700) Subject: Control API: log errors from accepted socket setup X-Git-Tag: release-1.31.8~16 X-Git-Url: https://git.kaiwu.me/?a=commitdiff_plain;h=1f214f4158d2bd1a06f09cfbd4b017c0aceb2229;p=nginx.git Control API: log errors from accepted socket setup Accepted control connections discarded errno when setting close-on-exec, nonblocking I/O, or signal ownership. The error log identified the failed fcntl() operation but omitted the operating system reason. Pass ngx_socket_errno to the three error logs, consistently with listener setup and inherited socket handling. --- diff --git a/src/os/unix/ngx_control.c b/src/os/unix/ngx_control.c index 08b2d0195..f191f00dd 100644 --- a/src/os/unix/ngx_control.c +++ b/src/os/unix/ngx_control.c @@ -493,21 +493,21 @@ ngx_control_handle_accept(void) "control accept fd:%d", r->fd); if (fcntl(r->fd, F_SETFD, FD_CLOEXEC) == -1) { - ngx_log_error(NGX_LOG_ERR, ngx_cycle->log, 0, + ngx_log_error(NGX_LOG_ERR, ngx_cycle->log, ngx_socket_errno, "control: fcntl(FD_CLOEXEC) failed"); ngx_close_socket(r->fd); continue; } if (fcntl(r->fd, F_SETFL, O_ASYNC|O_NONBLOCK) == -1) { - ngx_log_error(NGX_LOG_ERR, ngx_cycle->log, 0, + ngx_log_error(NGX_LOG_ERR, ngx_cycle->log, ngx_socket_errno, "control: fcntl(O_ASYNC|O_NONBLOCK) failed"); ngx_close_socket(r->fd); continue; } if (fcntl(r->fd, F_SETOWN, ngx_pid) == -1) { - ngx_log_error(NGX_LOG_ERR, ngx_cycle->log, 0, + ngx_log_error(NGX_LOG_ERR, ngx_cycle->log, ngx_socket_errno, "control: fcntl(F_SETOWN) failed"); ngx_close_socket(r->fd); continue;