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).
This commit is contained in:
Maxim Dounin 2012-04-17 09:10:50 +00:00
parent 9e2f86cfc0
commit 96d73e291f
2 changed files with 2 additions and 2 deletions

View File

@ -74,7 +74,6 @@ ngx_solaris_sendfilev_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
send = 0;
complete = 0;
vec.elts = sfvs;
vec.size = sizeof(sendfilevec_t);
@ -87,6 +86,7 @@ ngx_solaris_sendfilev_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
fprev = 0;
sfv = NULL;
eintr = 0;
complete = 0;
sent = 0;
prev_send = send;

View File

@ -54,7 +54,6 @@ ngx_writev_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
}
send = 0;
complete = 0;
vec.elts = iovs;
vec.size = sizeof(struct iovec);
@ -65,6 +64,7 @@ ngx_writev_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
prev = NULL;
iov = NULL;
eintr = 0;
complete = 0;
prev_send = send;
vec.nelts = 0;