truncated output with gzip, large files and slow rate

Maxim Dounin mdounin at mdounin.ru
Mon Apr 16 17:56:03 UTC 2012


Hello!

On Mon, Apr 16, 2012 at 02:27:08PM +0100, James Lee wrote:

> On Mon, 16 Apr 2012 11:17:41 +0100, Maxim Dounin
> <mdounin at mdounin.ru> wrote:
> 
> >Could you please provide debug log and nginx -V output?
> 
> debug.log.bz2 as attachment.

Thanks, the problem looks clear.  Could you please test if the 
following patch fixes things for you?

# HG changeset patch
# User Maxim Dounin <mdounin at mdounin.ru>
# Date 1334597965 -14400
# Node ID f58e907f57e1136223c178ea81a18e52a136ec60
# Parent  56f926e54f3430f1f9ecc9ef154262de10c33005
Fixed loop in ngx_writev_chain() and ngx_solaris_sendfilev_chain().

diff --git a/src/os/unix/ngx_solaris_sendfilev_chain.c b/src/os/unix/ngx_solaris_sendfilev_chain.c
--- a/src/os/unix/ngx_solaris_sendfilev_chain.c
+++ b/src/os/unix/ngx_solaris_sendfilev_chain.c
@@ -74,7 +74,6 @@ ngx_solaris_sendfilev_chain(ngx_connecti
 
 
     send = 0;
-    complete = 0;
 
     vec.elts = sfvs;
     vec.size = sizeof(sendfilevec_t);
@@ -87,6 +86,7 @@ ngx_solaris_sendfilev_chain(ngx_connecti
         fprev = 0;
         sfv = NULL;
         eintr = 0;
+        complete = 0;
         sent = 0;
         prev_send = send;
 
diff --git a/src/os/unix/ngx_writev_chain.c b/src/os/unix/ngx_writev_chain.c
--- a/src/os/unix/ngx_writev_chain.c
+++ b/src/os/unix/ngx_writev_chain.c
@@ -54,7 +54,6 @@ ngx_writev_chain(ngx_connection_t *c, ng
     }
 
     send = 0;
-    complete = 0;
 
     vec.elts = iovs;
     vec.size = sizeof(struct iovec);
@@ -65,6 +64,7 @@ ngx_writev_chain(ngx_connection_t *c, ng
         prev = NULL;
         iov = NULL;
         eintr = 0;
+        complete = 0;
         prev_send = send;
 
         vec.nelts = 0;


Maxim Dounin



More information about the nginx mailing list