nginx-0.3.36
Igor Sysoev
is at rambler-co.ru
Thu Apr 6 08:23:13 MSD 2006
On Thu, 6 Apr 2006, Anton Maksimenkov wrote:
>>>> Изменения в nginx 0.3.36 05.04.2006
>>>>
>>>> *) Добавление: модуль ngx_http_addition_filter_module.
>>>
>>> При его задействовании в виде
>>>
>>> location /header.html {
>>> root /var/www/a;
>>> }
>>> location /footer.html {
>>> root /var/www/a;
>>> }
>>>
>>> location / {
>>> add_before_body /header.html;
>>> add_after_body /footer.html;
>>> if ($http_host ~* ^(.+)\.domen\.ru.*$) {
>>> set $rootdir /var/www/domen.com/$1;
>>> }
>>> root /$rootdir;
>>> }
>>>
>>> В еррорлоге валится такое дело:
>>> 2006/04/05 09:14:25 [alert] 15782#0: *78 the http output chain is
>>> empty while sending response to client, client: XXX.XXX.XXX.XXX,
>>> server: www.domain.ru, URL: "/tree/03/", host: "vasya.domen.ru"
>>>
>>> файрфокс вроде работает, а интернетексплорер при нажатии Ctrl+F5
>>> зажирает проц (зависает) и так висит пока его не прибить.
>>
>> Прилагаемый патч должен помочь.
>
> Не помог. Точнее чем-то может и помог... В логах больше ничего не
> вылазит. Однако и експлорер и фаерфокс, как бы это сказать, не видят
> конца передачи (хотя страница и вставки отображены уже, причём
> последний символ нижней вставки в HTML коде полученной страницы есть).
> Я проверяю на другом компе, ХР. Пожирания процессора нет, но и тот и
> другой броузёры работают похоже - можно ходить по ссылкам, страничка
> отображается, но индикатор загрузки не заканчивается.
Предыдущий патч нужно убрать и накатить прилагаемый.
Игорь Сысоев
http://sysoev.ru
-------------- next part --------------
--- src/http/modules/ngx_http_addition_filter_module.c Tue Apr 4 15:01:51 2006
+++ src/http/modules/ngx_http_addition_filter_module.c Thu Apr 6 08:20:19 2006
@@ -16,8 +16,7 @@
typedef struct {
- unsigned before_body_sent:1;
- unsigned after_body_sent:1;
+ ngx_uint_t before_body_sent;
} ngx_http_addition_ctx_t;
@@ -155,17 +154,14 @@
for (cl = in; cl; cl = cl->next) {
if (cl->buf->last_buf) {
cl->buf->last_buf = 0;
+ cl->buf->sync = 1;
last = 1;
}
}
rc = ngx_http_next_body_filter(r, in);
- if (rc == NGX_ERROR
- || !last
- || ctx->after_body_sent
- || conf->after_body.len == 0)
- {
+ if (rc == NGX_ERROR || !last || conf->after_body.len == 0) {
return rc;
}
@@ -173,7 +169,7 @@
return NGX_ERROR;
}
- ctx->after_body_sent = 1;
+ ngx_http_set_ctx(r, NULL, ngx_http_addition_filter_module);
return ngx_http_send_special(r, NGX_HTTP_LAST);
}
More information about the nginx-ru
mailing list