comparison src/http/ngx_http_write_filter_module.c @ 4833:3464d0b63300

Write filter: replaced unneeded loop with one to free chains. Noted by Gabor Lekeny.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 05 Sep 2012 15:06:47 +0000
parents d620f497c50f
children ed576bd1d9c0
comparison
equal deleted inserted replaced
4832:949ea3d3cd1a 4833:3464d0b63300
183 c->buffered |= NGX_HTTP_WRITE_BUFFERED; 183 c->buffered |= NGX_HTTP_WRITE_BUFFERED;
184 return NGX_AGAIN; 184 return NGX_AGAIN;
185 } 185 }
186 186
187 if (size == 0 && !(c->buffered & NGX_LOWLEVEL_BUFFERED)) { 187 if (size == 0 && !(c->buffered & NGX_LOWLEVEL_BUFFERED)) {
188 if (last) { 188 if (last || flush) {
189 for (cl = r->out; cl; /* void */) {
190 ln = cl;
191 cl = cl->next;
192 ngx_free_chain(r->pool, ln);
193 }
194
189 r->out = NULL; 195 r->out = NULL;
190 c->buffered &= ~NGX_HTTP_WRITE_BUFFERED;
191
192 return NGX_OK;
193 }
194
195 if (flush) {
196 do {
197 r->out = r->out->next;
198 } while (r->out);
199
200 c->buffered &= ~NGX_HTTP_WRITE_BUFFERED; 196 c->buffered &= ~NGX_HTTP_WRITE_BUFFERED;
201 197
202 return NGX_OK; 198 return NGX_OK;
203 } 199 }
204 200