Perl модуль и докачка
Igor Sysoev
is at rambler-co.ru
Thu Dec 28 22:32:30 MSK 2006
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
More information about the nginx-ru
mailing list