Re: Сокет не закрывается после отправки тела

Maxim Dounin mdounin на mdounin.ru
Пт Июн 15 13:21:02 UTC 2018


Hello!

On Fri, Jun 15, 2018 at 07:14:32AM -0400, eustas wrote:

> С другой стороны ngx_output_chain ожидает что ctx->output_filter может
> вернуть NGX_DONE. И это весьма дизориентирует, т.к. это как раз тот код,
> который описывает предполагаемое поведение фильтров.

Это выглядит как leftover со времён до переделки работы подзапросов в 
nginx 0.7.25.

Соответствующая проверка появилась в 174f1e853e1e (0.3.6) для обработки 
случая, когда соединение закрыто подзапросом, и стоит 
c->destroyed.  И стала ненужной после переделки работы подзапросов в 
87b8c44906b5 (0.7.25), а также последующего добавления request 
reference counting в 67254117b774 и f54b02dbb12b (0.8.11).

Ну то есть вернуть из фильтра NGX_DONE по прежнему можно и сейчас 
- в рамках прежнего смысла этого кода - если стоит c->destroyed, 
то есть если соединение уже закрыто и запрос уничтожен.  Но такое 
теперь может произойти, только если где-то ошибка и всё совсем 
плохо.

[...]

-- 
Maxim Dounin
http://mdounin.ru/


Подробная информация о списке рассылки nginx-ru