ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] Some Info



> > > 
> > > Не подскажет ли кто-нибудь как узнать в cgi скрипте( во время его
> > > достаточно продолжительного выполнения ), что пользователь нажал стоп или
> > > перешел куда-нибудь по ссылке.
> > > 
> > > ... One child is not enough, but two are far too many.
> > > 
> >   SIGPIPE скрипт у тебя получит ( в лучшем случае ). А в худшем
> > его httpd пристрелит. Подробности, думаю, надо в mod_cgi смотреть.
> 
> И не первое, и не второе :(
> 
  Ну так а третьего-то не дано! Apache теряет связь с клиентом 
( обрубается TCP-соединение ) и получает SIGPIPE. При этом он либо
просто закрыват PIPE с CGI, и тогда CGI при записи в этот PIPE получит
SIGPIPE, либо перед закрытием посылает еще какой-нибудь сигнал твоему
CGI ( может даже SIGKILL ).

  Попробуй либо перехватить все сигналы, либо заблокировать их и 
анализируй, не возвращает ли write в stdout -1 ( то есть не может ничаво
записать ). Это не спасет, если Apache твоему CGI посылает SIGKILL, но
я надеюсь, что Apache не столь варварская программа :))))

  Sincerely,
                                                        Felix.
=============================================================================
=               Apache-Talk@lists.lexa.ru mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =



 




Copyright © Lexa Software, 1996-2009.