Re: Re: Re[2]: nginx и файлы более 1Гб

Михаил Вдовин vdovin_m at mail.ru
Sun Nov 9 22:27:15 MSK 2008


signed int вместо unsigned int использовать не получиться. т.к. код nginx-а изобилует проверками:
if (r->headers_out.content_length_n == -1) {
}
тут проблему решить можно только каким-нибудь int64.... 

------------------

Понятно, что где-то используется signed int вместо unsigned int.
А вот где у меня уже, увы, не хватает опыта понять.
На 64битной платформе такой ситуации нет, так как там int больше и выхода за
31 бит в знаковый не происходит.

9 ноября 2008 г. 20:05 пользователь Нюхряев Сергей Александрович <
straker at rambler.ru> написал:

> > On 09.11.2008 17:29, Нюхряев Сергей Александрович wrote:
> >> Обнаружил странное поведение nginx на freebsd 6.3
> >> Если запрашивать файл размером 2308833280 выдается в ответ размер
> -1986134016
> >> Content-Length: -1986134016
>
> > Скорее всего проблема в клиенте.
>
> Я уверен что не в клиенте. Reget нормально качает этот файл по ftp
> (proftpd) и с
> linux 64 битного. Также тестировал wget. Результат такой же. Для того
> чтобы найти проблемы надо код разобрать, но на это времени нет. Может
> кто-то подскажет какой тип переменной, которая выдает Content-Length,
> или ее размер в байтах для freebsd.
>
> > % telnet 127.0.0.1 80
> > HEAD /5g_file HTTP/1.0
>
> > HTTP/1.1 200 OK
> > Server: nginx/0.6.16
> > Date: Sun, 09 Nov 2008 16:24:46 GMT
> > Content-Type: application/octet-stream
> > Content-Length: 5368709120
> > Last-Modified: Sun, 09 Nov 2008 16:24:26 GMT
> > Connection: close
> > Accept-Ranges: bytes
>
> > % uname -srp
> > FreeBSD 6.3-RELEASE-p2 i386
>
> --
> С уважением,
>  Нюхряев Сергей                         mailto:straker at rambler.ru
>
>
>


-- 
С уважением, Борис Долгов.
icq 77556665
e-mail boris at dolgov.name







More information about the nginx-ru mailing list