> > Ну так а третьего-то не дано! Apache теряет связь с клиентом
> > ( обрубается TCP-соединение ) и получает SIGPIPE. При этом он либо
> > просто закрыват PIPE с CGI, и тогда CGI при записи в этот PIPE получит
> > SIGPIPE, либо перед закрытием посылает еще какой-нибудь сигнал твоему
> > CGI ( может даже SIGKILL ).
> Не посылает SIGKILL.
>
> >
> > Попробуй либо перехватить все сигналы, либо заблокировать их и
> > анализируй, не возвращает ли write в stdout -1 ( то есть не может ничаво
> > записать ). Это не спасет, если Apache твоему CGI посылает SIGKILL, но
> > я надеюсь, что Apache не столь варварская программа :))))
> Действительно CGI'шнику посылается SIGPIPE при записи, НО проблема в
> том, что CGI'шник пишет сначала весь HTML, а потом занимается своими( ну
> очень долгими :) делами. И что самое интересное, ему не надо ничего
> писать, следовательно SIGPIPE'а нет :(
> А насчет других сигналов, то Apache ни один не посылает после разрыва
> соединения.
>
Xmm.... ну тады ОЙ :))) Запусти шред, который раз в N секунд в stdout
пробел выкидыват -- клиенту-то это по барабану. А как тока SIGPIPE словил,
так знай - кранты пришли. Иначе не определить IMHO....
Sincerely,
Felix.
=============================================================================
= Apache-Talk@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.