Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nginx/nginx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2005-07-08 18:34:20 +0400
committerIgor Sysoev <igor@sysoev.ru>2005-07-08 18:34:20 +0400
commit5192b3651f2f44fb5769828a2a4060989c7e9c5f (patch)
treed1ef9dfd855e836c6f05b496be88dc835537d03f /src/http/ngx_http_postpone_filter_module.c
parent549c6c644976dc694765d77110ebd2504ff7ce2b (diff)
nginx-0.1.38-RELEASE importrelease-0.1.38
*) Feature: the "limit_rate" directive is supported in in proxy and FastCGI mode. *) Feature: the "X-Accel-Limit-Rate" response header line is supported in proxy and FastCGI mode. *) Feature: the "break" directive. *) Feature: the "log_not_found" directive. *) Bugfix: the response status code was not changed when request was redirected by the ""X-Accel-Redirect" header line. *) Bugfix: the variables set by the "set" directive could not be used in SSI. *) Bugfix: the segmentation fault may occurred if the SSI page has more than one remote subrequest. *) Bugfix: nginx treated the backend response as invalid if the status line in the header was transferred in two packets; the bug had appeared in 0.1.29. *) Feature: the "ssi_types" directive. *) Feature: the "autoindex_exact_size" directive. *) Bugfix: the ngx_http_autoindex_module did not support the long file names in UTF-8. *) Feature: the IMAP/POP3 proxy.
Diffstat (limited to 'src/http/ngx_http_postpone_filter_module.c')
-rw-r--r--src/http/ngx_http_postpone_filter_module.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/http/ngx_http_postpone_filter_module.c b/src/http/ngx_http_postpone_filter_module.c
index 8e47816fb..d7d338f09 100644
--- a/src/http/ngx_http_postpone_filter_module.c
+++ b/src/http/ngx_http_postpone_filter_module.c
@@ -48,13 +48,18 @@ ngx_http_postpone_filter(ngx_http_request_t *r, ngx_chain_t *in)
ngx_http_request_t *mr;
ngx_http_postponed_request_t *pr, **ppr;
- if (r->connection->write->error) {
- return NGX_ERROR;
- }
-
ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
"http postpone filter \"%V\" %p", &r->uri, in);
+ if (r->connection->closed) {
+
+ if (r->postponed) {
+ r->postponed = r->postponed->next;
+ }
+
+ return NGX_ERROR;
+ }
+
if (r != r->connection->data || (r->postponed && in)) {
if (r->postponed) {
@@ -112,7 +117,7 @@ ngx_http_postpone_filter(ngx_http_request_t *r, ngx_chain_t *in)
if (rc == NGX_ERROR) {
/* NGX_ERROR may be returned by any filter */
- r->connection->write->error = 1;
+ r->connection->closed = 1;
}
return rc;