Mercurial > hg > nginx-ranges
comparison src/http/ngx_http_postpone_filter_module.c @ 68:056fd0e5a5a6 NGINX_0_1_34
nginx 0.1.34
*) Bugfix: the worker process may got caught in an endless loop if the
big response part were include by SSI.
*) Bugfix: the variables set by the "set" directive were not available
in SSI.
*) Feature: the "autoindex_localtime" directive.
*) Bugfix: the empty value of the "proxy_set_header" directive forbids
the client request header line passing.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Thu, 26 May 2005 00:00:00 +0400 |
parents | 0790a8599248 |
children | da9a3b14312d |
comparison
equal
deleted
inserted
replaced
67:a6f560937e2a | 68:056fd0e5a5a6 |
---|---|
43 static ngx_int_t | 43 static ngx_int_t |
44 ngx_http_postpone_filter(ngx_http_request_t *r, ngx_chain_t *in) | 44 ngx_http_postpone_filter(ngx_http_request_t *r, ngx_chain_t *in) |
45 { | 45 { |
46 ngx_int_t rc; | 46 ngx_int_t rc; |
47 ngx_chain_t *out; | 47 ngx_chain_t *out; |
48 ngx_http_request_t *mr; | |
48 ngx_http_postponed_request_t *pr, **ppr; | 49 ngx_http_postponed_request_t *pr, **ppr; |
49 | 50 |
50 if (r->connection->write->error) { | 51 if (r->connection->write->error) { |
51 return NGX_ERROR; | 52 return NGX_ERROR; |
52 } | 53 } |
96 | 97 |
97 } else { | 98 } else { |
98 out = in; | 99 out = in; |
99 } | 100 } |
100 | 101 |
101 if (out == NULL && r->out == NULL && !r->connection->buffered) { | 102 mr = r->main ? r->main : r; |
103 | |
104 if (out == NULL && mr->out == NULL && !mr->connection->buffered) { | |
102 return NGX_OK; | 105 return NGX_OK; |
103 } | 106 } |
104 | 107 |
105 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, | 108 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, |
106 "http postpone filter out \"%V\"", &r->uri); | 109 "http postpone filter out \"%V\"", &r->uri); |
107 | 110 |
108 rc = ngx_http_next_filter(r->main ? r->main : r, out); | 111 rc = ngx_http_next_filter(mr, out); |
109 | 112 |
110 if (rc == NGX_ERROR) { | 113 if (rc == NGX_ERROR) { |
111 /* NGX_ERROR may be returned by any filter */ | 114 /* NGX_ERROR may be returned by any filter */ |
112 r->connection->write->error = 1; | 115 r->connection->write->error = 1; |
113 } | 116 } |