Re: залипший сокет между nginx и fastcgi ?
Maxim Dounin
mdounin на mdounin.ru
Пт Дек 17 17:45:42 MSK 2010
Hello!
On Fri, Dec 17, 2010 at 05:18:17PM +0300, Alexandre Snarskii wrote:
[...]
> > CLOSE_WAIT - со стороны fcgi? Если при этом fcgi приложение
> > заблокировалось в read() (а не ест процессор, пытаясь звать read()
> > снова и снова), то это видимо race в ядре. Ибо CLOSE_WAIT
> > означает, что ядро в курсе, что сокет с той стороны закрыли, и из
> > него больше ничего не прочитать, read() должен вернуться как
> > только выгребет всё из буфера.
>
> Да, CLOSE_WAIT со стороны fcgi. Да, fcgi именно заблокировалось
> в read() а не поллит его. Да, read() в такой ситуации должен вернуть
> EOF или error, но, блин, не возвращает...
Я бы ещё проверил, что дескриптор передаваемый в read() правильный
(соответствует исследуемому соединению). А дальше - изучать ядро
(т.к. ядро не последнее, то видимо начать имеет смысл с
changelog'ов).
Maxim Dounin
Подробная информация о списке рассылки nginx-ru