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