comparison src/os/unix/ngx_solaris_sendfilev_chain.c @ 4595:6cd5d4a279d6

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).
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 17 Apr 2012 09:10:50 +0000
parents d620f497c50f
children 089cc5154c1e
comparison
equal deleted inserted replaced
4594:7d0561b2e0fb 4595:6cd5d4a279d6
72 limit = NGX_MAX_SIZE_T_VALUE - ngx_pagesize; 72 limit = NGX_MAX_SIZE_T_VALUE - ngx_pagesize;
73 } 73 }
74 74
75 75
76 send = 0; 76 send = 0;
77 complete = 0;
78 77
79 vec.elts = sfvs; 78 vec.elts = sfvs;
80 vec.size = sizeof(sendfilevec_t); 79 vec.size = sizeof(sendfilevec_t);
81 vec.nalloc = NGX_SENDFILEVECS; 80 vec.nalloc = NGX_SENDFILEVECS;
82 vec.pool = c->pool; 81 vec.pool = c->pool;
85 fd = SFV_FD_SELF; 84 fd = SFV_FD_SELF;
86 prev = NULL; 85 prev = NULL;
87 fprev = 0; 86 fprev = 0;
88 sfv = NULL; 87 sfv = NULL;
89 eintr = 0; 88 eintr = 0;
89 complete = 0;
90 sent = 0; 90 sent = 0;
91 prev_send = send; 91 prev_send = send;
92 92
93 vec.nelts = 0; 93 vec.nelts = 0;
94 94