Evgeniy Berdnikov wrote:
> On Wed, Apr 21, 2021 at 02:58:21PM +0700, Victor Sudakov wrote:
> > Тут у меня еще сработали ассоциации с обычным CGI. Там ведь насколько я
> > помню, закрыли stdin CGI-скрипту - и скрипт сразу прекратил выполнение.
> > Или тоже помню неверно?
> 
>  Неверно. И вообще это не имеет отношения к GCI, поскольку CGI как протокол
>  не содержит никаких требований к обработке статуса соединения между
>  клиентом и web-сервером. 

Речь и не шла об обработке статуса соединения между клиентом и
web-сервером. Под "закрыли stdin CGI-скрипту" я имел в виду, что веб-сервер
закрыл соединение между собой и скриптом.

Впрочем, как меня уже поправили, и в случае CGI-скрипта скрипт может
остаться работать, даже если веб-сервер закрыл соединение с ним. Я этого
не знал. Бывало тестировал их даже руками или через пайп - не помню,
чтобы хоть один оставался выполняться где-то в фоне, после того как я
прервал общение с ним.

Вообще очень познавательный был разговор, спасибо всем ответившим.

> CGI это интерфейс между сервером и дочерним
>  процессом. А как ведёт себя сервер по отношению изменениям статусов
>  пользовательских коннекций -- это особенности его реализации.
> 
> > > В результате о том, что соединение закрыто, php узнаёт, только 
> > > когда попытка записи ответа в соединение возвращает ошибку.  
> > 
> > Спасибо за однозначный и четкий ответ. В документации не хватает, к
> > сожалению, чтобы этот момент был четко прописан.
> 
>  Вы находили в документации по php прямо противоположное утверждение.
>  Но насколько оно верно -- это вопрос, по мне так php это маргинальная
>  субкультура и слепо доверять её грамотам не стоит...

Не то чтобы "прямо противоположное". В документации просто не оговорено, что
требуются определенные дополнительные условия (попытка чтения или записи
скриптом) для перехода в состояние ABORTED.

-- 
Victor Sudakov VAS4-RIPE
http://vas.tomsk.ru/
2:5005/49@fidonet
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить