[BUG] sendfile on; & output_buffers 1 128k;

Igor Sysoev igor на sysoev.ru
Пн Сен 5 15:47:35 UTC 2011


On Mon, Sep 05, 2011 at 06:17:59PM +0300, Андрей Василишин wrote:
> 
> Вдогонку, с конфигом, который я приводил вылез такой баг:
> я начинаю мотать flv-ролик сразу после запуска, ролик практически вообще 
> не подгрузился, но перемотка на некоторые куски проходит а на некоторые 
> нет, начинает играть сначала. Так же юзеры жалуются что воспроизведение 
> проходит до определненного момента и сбрасывается на начало
> 
> Если закомментировать output_buffers  1 128k; - все работает нормально.
> На других серверах с практически идентичным конфигом, где стоит sendfile 
> off; и output_buffers  1 128k; - также работает нормально.

А можно попробовать с прилагаемым патчем ?


-- 
Igor Sysoev
-------------- next part --------------
Index: src/http/modules/ngx_http_flv_module.c
===================================================================
--- src/http/modules/ngx_http_flv_module.c	(revision 4075)
+++ src/http/modules/ngx_http_flv_module.c	(working copy)
@@ -157,6 +157,7 @@
     }
 
     r->root_tested = !r->error_page;
+    r->allow_ranges = 1;
 
     start = 0;
     len = of.size;
@@ -166,6 +167,8 @@
 
         if (ngx_http_arg(r, (u_char *) "start", 5, &value) == NGX_OK) {
 
+            r->allow_ranges = 0;
+
             start = ngx_atoof(value.data, value.len);
 
             if (start == NGX_ERROR || start >= len) {
@@ -214,8 +217,6 @@
         return NGX_HTTP_INTERNAL_SERVER_ERROR;
     }
 
-    r->allow_ranges = 1;
-
     rc = ngx_http_send_header(r);
 
     if (rc == NGX_ERROR || rc > NGX_OK || r->header_only) {


Подробная информация о списке рассылки nginx-ru