Mercurial > hg > nginx
comparison src/http/ngx_http_write_filter_module.c @ 597:9262f520ce21 release-0.3.20
nginx-0.3.20-RELEASE import
*) Bugfix: in SSI handling.
*) Bugfix: the ngx_http_memcached_module did not support the keys in
the "/usr?args" form.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 11 Jan 2006 15:26:57 +0000 |
parents | 4e296b7d25bf |
children | f971949ffb58 |
comparison
equal
deleted
inserted
replaced
596:0381e6d3aa70 | 597:9262f520ce21 |
---|---|
177 if (!last && !flush && in && size < (off_t) clcf->postpone_output) { | 177 if (!last && !flush && in && size < (off_t) clcf->postpone_output) { |
178 return NGX_OK; | 178 return NGX_OK; |
179 } | 179 } |
180 | 180 |
181 if (c->write->delayed) { | 181 if (c->write->delayed) { |
182 c->buffered |= NGX_HTTP_WRITE_BUFFERED; | |
182 return NGX_AGAIN; | 183 return NGX_AGAIN; |
183 } | 184 } |
184 | 185 |
185 if (size == 0 && !c->buffered) { | 186 if (size == 0 && !(c->buffered & NGX_LOWLEVEL_BUFFERED)) { |
186 if (last) { | 187 if (last) { |
187 r->out = NULL; | 188 r->out = NULL; |
189 c->buffered &= ~NGX_HTTP_WRITE_BUFFERED; | |
190 | |
188 return NGX_OK; | 191 return NGX_OK; |
189 } | 192 } |
190 | 193 |
191 if (flush) { | 194 if (flush) { |
192 do { | 195 do { |
193 r->out = r->out->next; | 196 r->out = r->out->next; |
194 } | 197 } while (r->out); |
195 while (r->out); | 198 |
199 c->buffered &= ~NGX_HTTP_WRITE_BUFFERED; | |
196 | 200 |
197 return NGX_OK; | 201 return NGX_OK; |
198 } | 202 } |
199 | 203 |
200 ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0, | 204 ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0, |
230 ngx_free_chain(r->pool, ln); | 234 ngx_free_chain(r->pool, ln); |
231 } | 235 } |
232 | 236 |
233 r->out = chain; | 237 r->out = chain; |
234 | 238 |
235 if (chain || (c->buffered && r->postponed == NULL)) { | 239 if (chain) { |
240 c->buffered |= NGX_HTTP_WRITE_BUFFERED; | |
241 return NGX_AGAIN; | |
242 } | |
243 | |
244 c->buffered &= ~NGX_HTTP_WRITE_BUFFERED; | |
245 | |
246 if ((c->buffered & NGX_LOWLEVEL_BUFFERED) && r->postponed == NULL) { | |
236 return NGX_AGAIN; | 247 return NGX_AGAIN; |
237 } | 248 } |
238 | 249 |
239 return NGX_OK; | 250 return NGX_OK; |
240 } | 251 } |