Mercurial > hg > nginx-mail
comparison src/core/ngx_connection.c @ 524:ed5e10fb40fc NGINX_0_7_54
nginx 0.7.54
*) Feature: the ngx_http_image_filter_module.
*) Feature: the "proxy_ignore_headers" and "fastcgi_ignore_headers"
directives.
*) Bugfix: a segmentation fault might occur in worker process, if an
"open_file_cache_errors off" directive was used; the bug had
appeared in 0.7.53.
*) Bugfix: the "port_in_redirect off" directive did not work; the bug
had appeared in 0.7.39.
*) Bugfix: improve handling of "select" method errors.
*) Bugfix: of "select() failed (10022: ...)" error in nginx/Windows.
*) Bugfix: in error text descriptions in nginx/Windows; the bug had
appeared in 0.7.53.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Fri, 01 May 2009 00:00:00 +0400 |
parents | 549994537f15 |
children | 6484cbba0222 |
comparison
equal
deleted
inserted
replaced
523:0a2f4b42ddad | 524:ed5e10fb40fc |
---|---|
246 | 246 |
247 if (ls[i].fd != -1) { | 247 if (ls[i].fd != -1) { |
248 continue; | 248 continue; |
249 } | 249 } |
250 | 250 |
251 ls[i].log = *ls[i].logp; | |
252 | |
251 if (ls[i].inherited) { | 253 if (ls[i].inherited) { |
252 | 254 |
253 /* TODO: close on exit */ | 255 /* TODO: close on exit */ |
254 /* TODO: nonblocking */ | 256 /* TODO: nonblocking */ |
255 /* TODO: deferred accept */ | 257 /* TODO: deferred accept */ |
799 ngx_int_t | 801 ngx_int_t |
800 ngx_connection_error(ngx_connection_t *c, ngx_err_t err, char *text) | 802 ngx_connection_error(ngx_connection_t *c, ngx_err_t err, char *text) |
801 { | 803 { |
802 ngx_uint_t level; | 804 ngx_uint_t level; |
803 | 805 |
804 if (err == NGX_ECONNRESET && c->log_error == NGX_ERROR_IGNORE_ECONNRESET) { | 806 /* Winsock may return NGX_ECONNABORTED instead of NGX_ECONNRESET */ |
807 | |
808 if ((err == NGX_ECONNRESET | |
809 #if (NGX_WIN32) | |
810 || err == NGX_ECONNABORTED | |
811 #endif | |
812 ) && c->log_error == NGX_ERROR_IGNORE_ECONNRESET) | |
813 { | |
805 return 0; | 814 return 0; |
806 } | 815 } |
807 | 816 |
808 #if (NGX_SOLARIS) | 817 #if (NGX_SOLARIS) |
809 if (err == NGX_EINVAL && c->log_error == NGX_ERROR_IGNORE_EINVAL) { | 818 if (err == NGX_EINVAL && c->log_error == NGX_ERROR_IGNORE_EINVAL) { |
811 } | 820 } |
812 #endif | 821 #endif |
813 | 822 |
814 if (err == 0 | 823 if (err == 0 |
815 || err == NGX_ECONNRESET | 824 || err == NGX_ECONNRESET |
816 #if !(NGX_WIN32) | 825 #if (NGX_WIN32) |
826 || err == NGX_ECONNABORTED | |
827 #else | |
817 || err == NGX_EPIPE | 828 || err == NGX_EPIPE |
818 #endif | 829 #endif |
819 || err == NGX_ENOTCONN | 830 || err == NGX_ENOTCONN |
820 || err == NGX_ETIMEDOUT | 831 || err == NGX_ETIMEDOUT |
821 || err == NGX_ECONNREFUSED | 832 || err == NGX_ECONNREFUSED |