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