Mercurial > hg > nginx-vendor-0-6
comparison src/core/ngx_connection.c @ 384:09b703ae3ba5 NGINX_0_6_36
nginx 0.6.36
*) Change: now the "Invalid argument" error returned by
setsockopt(TCP_NODELAY) on Solaris, is ignored.
*) Change: now POSTs without "Content-Length" header line are allowed.
*) Feature: the "try_files" directive.
*) Feature: the --with-pcre option in the configure.
*) Feature: the "if_modified_since" directive.
*) Feature: the "$cookie_..." variables.
*) Feature: the "$arg_..." variables.
*) Bugfix: compatibility with Tru64 UNIX.
Thanks to Dustin Marquess.
*) Bugfix: a "ssl_engine" directive did not use a SSL-accelerator for
asymmetric ciphers.
Thanks to Marcin Gozdalik.
*) Bugfix: in a redirect rewrite directive original arguments were
concatenated with new arguments by a "?" rather than an "&";
the bug had appeared in 0.1.18.
Thanks to Maxim Dounin.
*) Bugfix: nginx could not be built on AIX.
*) Bugfix: a double response might be returned if the epoll or rtsig
methods are used and a redirect was returned to a request with
body.
Thanks to Eden Li.
*) Bugfix: a segmentation fault might occur in worker process if
"resolver" directive was used in SMTP proxy.
*) Bugfix: fastcgi_store stored files not always.
*) Bugfix: nginx did not process a FastCGI server response, if the
server send too many messages to stderr before response.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Thu, 02 Apr 2009 00:00:00 +0400 |
parents | d13234035cad |
children |
comparison
equal
deleted
inserted
replaced
383:3d40b0260a84 | 384:09b703ae3ba5 |
---|---|
777 ngx_int_t | 777 ngx_int_t |
778 ngx_connection_error(ngx_connection_t *c, ngx_err_t err, char *text) | 778 ngx_connection_error(ngx_connection_t *c, ngx_err_t err, char *text) |
779 { | 779 { |
780 ngx_uint_t level; | 780 ngx_uint_t level; |
781 | 781 |
782 if (err == NGX_ECONNRESET | 782 if (err == NGX_ECONNRESET && c->log_error == NGX_ERROR_IGNORE_ECONNRESET) { |
783 && c->log_error == NGX_ERROR_IGNORE_ECONNRESET) | |
784 { | |
785 return 0; | 783 return 0; |
786 } | 784 } |
785 | |
786 #if (NGX_SOLARIS) | |
787 if (err == NGX_EINVAL && c->log_error == NGX_ERROR_IGNORE_EINVAL) { | |
788 return 0; | |
789 } | |
790 #endif | |
787 | 791 |
788 if (err == 0 | 792 if (err == 0 |
789 || err == NGX_ECONNRESET | 793 || err == NGX_ECONNRESET |
790 #if !(NGX_WIN32) | 794 #if !(NGX_WIN32) |
791 || err == NGX_EPIPE | 795 || err == NGX_EPIPE |
798 || err == NGX_EHOSTDOWN | 802 || err == NGX_EHOSTDOWN |
799 || err == NGX_EHOSTUNREACH) | 803 || err == NGX_EHOSTUNREACH) |
800 { | 804 { |
801 switch (c->log_error) { | 805 switch (c->log_error) { |
802 | 806 |
807 case NGX_ERROR_IGNORE_EINVAL: | |
803 case NGX_ERROR_IGNORE_ECONNRESET: | 808 case NGX_ERROR_IGNORE_ECONNRESET: |
804 case NGX_ERROR_INFO: | 809 case NGX_ERROR_INFO: |
805 level = NGX_LOG_INFO; | 810 level = NGX_LOG_INFO; |
806 break; | 811 break; |
807 | 812 |