From 1f214f4158d2bd1a06f09cfbd4b017c0aceb2229 Mon Sep 17 00:00:00 2001 From: Oskar Eichler <62393985+OskarEichler@users.noreply.github.com> Date: Fri, 4 Sep 2026 22:52:07 +0700 Subject: [PATCH] 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. --- src/os/unix/ngx_control.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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; -- 2.47.3