diff src/http/ngx_http_request.c @ 2653:567028e737cc stable-0.6

r2561 merge: ignore EINVAL from setsockopt() on Solaris
author Igor Sysoev <igor@sysoev.ru>
date Wed, 01 Apr 2009 16:42:09 +0000
parents 76add0af8e21
children 0ea35a84c72d
line wrap: on
line diff
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -2264,8 +2264,15 @@ ngx_http_set_keepalive(ngx_http_request_
                        (const void *) &tcp_nodelay, sizeof(int))
             == -1)
         {
+#if (NGX_SOLARIS)
+            /* Solaris returns EINVAL if a socket has been shut down */
+            c->log_error = NGX_ERROR_IGNORE_EINVAL;
+#endif
+
             ngx_connection_error(c, ngx_socket_errno,
                                  "setsockopt(TCP_NODELAY) failed");
+
+            c->log_error = NGX_ERROR_INFO;
             ngx_http_close_connection(c);
             return;
         }