diff 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
line wrap: on
line diff
--- a/src/http/ngx_http_postpone_filter_module.c
+++ b/src/http/ngx_http_postpone_filter_module.c
@@ -45,6 +45,7 @@ ngx_http_postpone_filter(ngx_http_reques
 {
     ngx_int_t                      rc;
     ngx_chain_t                   *out;
+    ngx_http_request_t            *mr;
     ngx_http_postponed_request_t  *pr, **ppr;
 
     if (r->connection->write->error) {
@@ -98,14 +99,16 @@ ngx_http_postpone_filter(ngx_http_reques
         out = in;
     }
 
-    if (out == NULL && r->out == NULL && !r->connection->buffered) {
+    mr = r->main ? r->main : r;
+
+    if (out == NULL && mr->out == NULL && !mr->connection->buffered) {
         return NGX_OK;
     }
 
     ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
                    "http postpone filter out \"%V\"", &r->uri);
 
-    rc = ngx_http_next_filter(r->main ? r->main : r, out);
+    rc = ngx_http_next_filter(mr, out);
 
     if (rc == NGX_ERROR) {
         /* NGX_ERROR may be returned by any filter */