[nginx] svn commit: r4596 - trunk/src/os/unix
mdounin at mdounin.ru
mdounin at mdounin.ru
Tue Apr 17 09:10:50 UTC 2012
Author: mdounin
Date: 2012-04-17 09:10:50 +0000 (Tue, 17 Apr 2012)
New Revision: 4596
URL: http://trac.nginx.org/nginx/changeset/4596/nginx
Log:
Fixed loop in ngx_writev_chain() and ngx_solaris_sendfilev_chain().
The "complete" flag wasn't cleared on loop iteration start, resulting in
broken behaviour if there were more than IOV_MAX buffers and first
iteration was fully completed (and hence the "complete" flag was set
to 1).
Modified:
trunk/src/os/unix/ngx_solaris_sendfilev_chain.c
trunk/src/os/unix/ngx_writev_chain.c
Modified: trunk/src/os/unix/ngx_solaris_sendfilev_chain.c
===================================================================
--- trunk/src/os/unix/ngx_solaris_sendfilev_chain.c 2012-04-16 13:05:20 UTC (rev 4595)
+++ trunk/src/os/unix/ngx_solaris_sendfilev_chain.c 2012-04-17 09:10:50 UTC (rev 4596)
@@ -74,7 +74,6 @@
send = 0;
- complete = 0;
vec.elts = sfvs;
vec.size = sizeof(sendfilevec_t);
@@ -87,6 +86,7 @@
fprev = 0;
sfv = NULL;
eintr = 0;
+ complete = 0;
sent = 0;
prev_send = send;
Modified: trunk/src/os/unix/ngx_writev_chain.c
===================================================================
--- trunk/src/os/unix/ngx_writev_chain.c 2012-04-16 13:05:20 UTC (rev 4595)
+++ trunk/src/os/unix/ngx_writev_chain.c 2012-04-17 09:10:50 UTC (rev 4596)
@@ -54,7 +54,6 @@
}
send = 0;
- complete = 0;
vec.elts = iovs;
vec.size = sizeof(struct iovec);
@@ -65,6 +64,7 @@
prev = NULL;
iov = NULL;
eintr = 0;
+ complete = 0;
prev_send = send;
vec.nelts = 0;
More information about the nginx-devel
mailing list