Fix possible connection leak appeared in 0.7.25

Maxim Dounin mdounin at mdounin.ru
Tue Apr 21 19:03:41 MSD 2009


Hello!

On Tue, Apr 21, 2009 at 05:52:10PM +0400, Igor Sysoev wrote:

> On Tue, Apr 21, 2009 at 05:32:54PM +0400, Maxim Dounin wrote:
> 
> > Hello!
> > 
> > On Tue, Apr 21, 2009 at 04:11:03PM +0400, Igor Sysoev wrote:
> > 
> > > On Tue, Apr 21, 2009 at 03:12:25PM +0400, Maxim Dounin wrote:
> > > 
> > > > Hello!
> > > > 
> > > > Патч.
> > > > 
> > > > Исправление проблемы было любезно спонсировано Михаилом Монашёвым, 
> > > > им же протестировано в боевых условиях.
> > > > 
> > > > Подробности можно найти в этой рассылке - последний тред про это 
> > > > был с темой "Бага между 0.7.24 и 0.7.26".  Что именно происходит и 
> > > > как это воспроизводить я постарался описать в заголовке патча.
> > > 
> > > Cпасибо. А как оно будет себя вести в случае, когда в SSI включён
> > > ответ с другой машины, то есть, ситуация "r->postponed" ?
> > 
> > Ты меня об этом спрашиваешь? ;)
> 
> Ну я тебе предлагаю проверить в твоём мощном юнит-тесте :)

В тестах ничего не ломается, я их естественно прогнал.  Но всё это 
проявляется только если клиент закрывает соединение, причём всё 
очень зависит от конкретного момента, так что поймать даже зная 
что "где-то там засада" - нетривиально, нужно специально ручки 
крутить.  Я упарился пока Мишину проблему у себя воспроизвёл, и то 
пришлось лезть в рабочий процесс gdb'ой и смотреть что там в 
структурах.

Погонял ту же конструкцию на странице c ssi - вроде бы всё хорошо, 
проблем не замечено, всё закрывается и память не течёт.

> Надо бы мне его освоить, кстати.

Да, это было бы неплохо.  :)

Maxim Dounin





More information about the nginx-ru mailing list