Mercurial > hg > nginx-vendor-1-0
comparison src/event/ngx_event_pipe.c @ 634:0d6525917227 NGINX_1_0_7
nginx 1.0.7
*) Change: now if total size of all ranges is greater than source
response size, then nginx disables ranges and returns just the source
response.
*) Feature: the "max_ranges" directive.
*) Feature: the module ngx_http_mp4_module.
*) Feature: the "worker_aio_requests" directive.
*) Bugfix: if nginx was built --with-file-aio it could not be run on
Linux kernel which did not support AIO.
*) Bugfix: in Linux AIO error processing.
Thanks to Hagai Avrahami.
*) Bugfix: in Linux AIO combined with open_file_cache.
*) Bugfix: open_file_cache did not update file info on retest if file
was not atomically changed.
*) Bugfix: reduced memory consumption for long-lived requests.
*) Bugfix: in the "proxy/fastcgi/scgi/uwsgi_ignore_client_abort"
directives.
*) Bugfix: nginx could not be built on MacOSX 10.7.
*) Bugfix: in the "proxy/fastcgi/scgi/uwsgi_ignore_client_abort"
directives.
*) Bugfix: request body might be processed incorrectly if client used
pipelining.
*) Bugfix: in the "request_body_in_single_buf" directive.
*) Bugfix: in "proxy_set_body" and "proxy_pass_request_body" directives
if SSL connection to backend was used.
*) Bugfix: nginx hogged CPU if all servers in an upstream were marked as
"down".
*) Bugfix: a segmentation fault might occur during reconfiguration if
ssl_session_cache was defined but not used in previous configuration.
*) Bugfix: a segmentation fault might occur in a worker process if many
backup servers were used in an upstream.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Fri, 30 Sep 2011 00:00:00 +0400 |
parents | 86dad910eeb6 |
children | ad25218fd14b |
comparison
equal
deleted
inserted
replaced
633:7c3c34755d2e | 634:0d6525917227 |
---|---|
631 } | 631 } |
632 } | 632 } |
633 | 633 |
634 rc = p->output_filter(p->output_ctx, out); | 634 rc = p->output_filter(p->output_ctx, out); |
635 | 635 |
636 ngx_chain_update_chains(&p->free, &p->busy, &out, p->tag); | |
637 | |
636 if (rc == NGX_ERROR) { | 638 if (rc == NGX_ERROR) { |
637 p->downstream_error = 1; | 639 p->downstream_error = 1; |
638 return ngx_event_pipe_drain_chains(p); | 640 return ngx_event_pipe_drain_chains(p); |
639 } | 641 } |
640 | |
641 ngx_chain_update_chains(&p->free, &p->busy, &out, p->tag); | |
642 | 642 |
643 for (cl = p->free; cl; cl = cl->next) { | 643 for (cl = p->free; cl; cl = cl->next) { |
644 | 644 |
645 if (cl->buf->temp_file) { | 645 if (cl->buf->temp_file) { |
646 if (p->cacheable || !p->cyclic_temp_file) { | 646 if (p->cacheable || !p->cyclic_temp_file) { |