[PATCH] Use ngx_socket_errno where appropriate.

Piotr Sikora piotr at cloudflare.com
Mon Feb 3 22:22:39 UTC 2014


Hey,

> Note that I still agree with Ruslan's comments to your patch, use
> of ngx_socket_errno to check errors from ioctl() / fcntl() in
> unix-specific code looks unneeded.  And in case of eventfd - it
> looks certainly wrong, as eventfd isn't a socket.
>
> I would rather drop most of the src/os/unix changes, probably with
> the exception of ngx_tcp_nopush() checks.

Done.

Best regards,
Piotr Sikora


# HG changeset patch
# User Piotr Sikora <piotr at cloudflare.com>
# Date 1391465837 28800
#      Mon Feb 03 14:17:17 2014 -0800
# Node ID 810f410714ed6985a5350a294bc38a3c29f30eb3
# Parent  3c5ddf0575d850dca5d0ee645394c1c734f2b75f
Use ngx_socket_errno where appropriate.

Signed-off-by: Piotr Sikora <piotr at cloudflare.com>

diff -r 3c5ddf0575d8 -r 810f410714ed src/core/ngx_connection.c
--- a/src/core/ngx_connection.c Thu Jan 30 14:58:21 2014 -0800
+++ b/src/core/ngx_connection.c Mon Feb 03 14:17:17 2014 -0800
@@ -244,7 +244,7 @@ ngx_set_inherited_sockets(ngx_cycle_t *c
         if (getsockopt(ls[i].fd, SOL_SOCKET, SO_ACCEPTFILTER, &af, &olen)
             == -1)
         {
-            err = ngx_errno;
+            err = ngx_socket_errno;

             if (err == NGX_EINVAL) {
                 continue;
@@ -277,7 +277,7 @@ ngx_set_inherited_sockets(ngx_cycle_t *c
         if (getsockopt(ls[i].fd, IPPROTO_TCP, TCP_DEFER_ACCEPT,
&timeout, &olen)
             == -1)
         {
-            err = ngx_errno;
+            err = ngx_socket_errno;

             if (err == NGX_EOPNOTSUPP) {
                 continue;
@@ -661,7 +661,7 @@ ngx_configure_listening_sockets(ngx_cycl
             if (setsockopt(ls[i].fd, SOL_SOCKET, SO_ACCEPTFILTER, NULL, 0)
                 == -1)
             {
-                ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
+                ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_socket_errno,
                               "setsockopt(SO_ACCEPTFILTER, NULL) "
                               "for %V failed, ignored",
                               &ls[i].addr_text);
@@ -688,7 +688,7 @@ ngx_configure_listening_sockets(ngx_cycl
                            &af, sizeof(struct accept_filter_arg))
                 == -1)
             {
-                ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
+                ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_socket_errno,
                               "setsockopt(SO_ACCEPTFILTER, \"%s\") "
                               "for %V failed, ignored",
                               ls[i].accept_filter, &ls[i].addr_text);
@@ -721,7 +721,7 @@ ngx_configure_listening_sockets(ngx_cycl
                            &value, sizeof(int))
                 == -1)
             {
-                ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
+                ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_socket_errno,
                               "setsockopt(TCP_DEFER_ACCEPT, %d) for
%V failed, "
                               "ignored",
                               value, &ls[i].addr_text);
diff -r 3c5ddf0575d8 -r 810f410714ed src/http/ngx_http_request.c
--- a/src/http/ngx_http_request.c Thu Jan 30 14:58:21 2014 -0800
+++ b/src/http/ngx_http_request.c Mon Feb 03 14:17:17 2014 -0800
@@ -2707,7 +2707,7 @@ ngx_http_test_reading(ngx_http_request_t
         if (getsockopt(c->fd, SOL_SOCKET, SO_ERROR, (void *) &err, &len)
             == -1)
         {
-            err = ngx_errno;
+            err = ngx_socket_errno;
         }

         goto closed;
diff -r 3c5ddf0575d8 -r 810f410714ed src/http/ngx_http_upstream.c
--- a/src/http/ngx_http_upstream.c Thu Jan 30 14:58:21 2014 -0800
+++ b/src/http/ngx_http_upstream.c Mon Feb 03 14:17:17 2014 -0800
@@ -1096,7 +1096,7 @@ ngx_http_upstream_check_broken_connectio
         if (getsockopt(c->fd, SOL_SOCKET, SO_ERROR, (void *) &err, &len)
             == -1)
         {
-            err = ngx_errno;
+            err = ngx_socket_errno;
         }

         if (err) {
@@ -1977,7 +1977,7 @@ ngx_http_upstream_test_connect(ngx_conne
         if (getsockopt(c->fd, SOL_SOCKET, SO_ERROR, (void *) &err, &len)
             == -1)
         {
-            err = ngx_errno;
+            err = ngx_socket_errno;
         }

         if (err) {
diff -r 3c5ddf0575d8 -r 810f410714ed src/os/unix/ngx_freebsd_sendfile_chain.c
--- a/src/os/unix/ngx_freebsd_sendfile_chain.c Thu Jan 30 14:58:21 2014 -0800
+++ b/src/os/unix/ngx_freebsd_sendfile_chain.c Mon Feb 03 14:17:17 2014 -0800
@@ -231,7 +231,7 @@ ngx_freebsd_sendfile_chain(ngx_connectio
                 && c->tcp_nopush == NGX_TCP_NOPUSH_UNSET)
             {
                 if (ngx_tcp_nopush(c->fd) == NGX_ERROR) {
-                    err = ngx_errno;
+                    err = ngx_socket_errno;

                     /*
                      * there is a tiny chance to be interrupted, however,
diff -r 3c5ddf0575d8 -r 810f410714ed src/os/unix/ngx_linux_sendfile_chain.c
--- a/src/os/unix/ngx_linux_sendfile_chain.c Thu Jan 30 14:58:21 2014 -0800
+++ b/src/os/unix/ngx_linux_sendfile_chain.c Mon Feb 03 14:17:17 2014 -0800
@@ -163,7 +163,7 @@ ngx_linux_sendfile_chain(ngx_connection_
                 if (setsockopt(c->fd, IPPROTO_TCP, TCP_NODELAY,
                                (const void *) &tcp_nodelay, sizeof(int)) == -1)
                 {
-                    err = ngx_errno;
+                    err = ngx_socket_errno;

                     /*
                      * there is a tiny chance to be interrupted, however,
@@ -189,7 +189,7 @@ ngx_linux_sendfile_chain(ngx_connection_
             if (c->tcp_nodelay == NGX_TCP_NODELAY_UNSET) {

                 if (ngx_tcp_nopush(c->fd) == NGX_ERROR) {
-                    err = ngx_errno;
+                    err = ngx_socket_errno;

                     /*
                      * there is a tiny chance to be interrupted, however,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nginx__ngx_socket_errno.patch
Type: application/octet-stream
Size: 5419 bytes
Desc: not available
URL: <http://mailman.nginx.org/pipermail/nginx-devel/attachments/20140203/443bbee6/attachment.obj>


More information about the nginx-devel mailing list