ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


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


  ПРОГРАММЫ 



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












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

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

Re: Perl модуль и докачка



On Thu, 28 Dec 2006, Igor Sysoev wrote:

On Thu, 28 Dec 2006, Igor Sysoev wrote:

On Thu, 28 Dec 2006, Konstantin Petrenko wrote:

Наткнулся на очень не приятный глюк. Файло отдается модулем на перле:
===
...
     if( -e $fn){
       $r->variable("sid",$sid);
       $r->allow_ranges;
       $r->header_out("Content-Length", -s $fn);
       $r->send_http_header;
       $r->sendfile($fn);
       return OK;
     }
     else{
       return HTTP_NOT_FOUND;
     }
...
===
Но, если прервать закачку и потом возобновить - то файлы как-бы
докачивается но на самом деле отдается заного. В итоге содердимое
файла превращается в кашу. Идет кусок сначала, потом где была прервана
закачка, фаил начинается опять сначала.

nginx/0.5.4, ОС FreeBSD 6.2-PRE
в конфиге написано так:
===
       location /downloads {
           set $sid 1;
           perl getfile::handler;
       }
===

Прилагаемый патч должен исправить ошибку.

Это неверный патч.

Впрочем, нет - верный.


Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.