Mercurial > hg > nginx
comparison src/event/ngx_event_pipe.c @ 168:ba5dbb949603
nginx-0.0.1-2003-10-31-10:10:36 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 31 Oct 2003 07:10:36 +0000 |
parents | 389d7ee9fa60 |
children | c42be4185301 |
comparison
equal
deleted
inserted
replaced
167:8aef3c72e5da | 168:ba5dbb949603 |
---|---|
250 size = cl->hunk->end - cl->hunk->last; | 250 size = cl->hunk->end - cl->hunk->last; |
251 | 251 |
252 if (n >= size) { | 252 if (n >= size) { |
253 cl->hunk->last = cl->hunk->end; | 253 cl->hunk->last = cl->hunk->end; |
254 | 254 |
255 /* STUB */ cl->hunk->num = p->num++; | 255 /* STUB */ cl->hunk->num = p->num++; |
256 | 256 |
257 if (p->input_filter(p, cl->hunk) == NGX_ERROR) { | 257 if (p->input_filter(p, cl->hunk) == NGX_ERROR) { |
258 return NGX_ABORT; | 258 return NGX_ABORT; |
259 } | 259 } |
260 | 260 |
269 | 269 |
270 p->free_raw_hunks = cl; | 270 p->free_raw_hunks = cl; |
271 } | 271 } |
272 | 272 |
273 if ((p->upstream_eof || p->upstream_error) && p->free_raw_hunks) { | 273 if ((p->upstream_eof || p->upstream_error) && p->free_raw_hunks) { |
274 /* STUB */ p->free_raw_hunks->hunk->num = p->num++; | 274 /* STUB */ p->free_raw_hunks->hunk->num = p->num++; |
275 if (p->input_filter(p, p->free_raw_hunks->hunk) == NGX_ERROR) { | 275 if (p->input_filter(p, p->free_raw_hunks->hunk) == NGX_ERROR) { |
276 return NGX_ABORT; | 276 return NGX_ABORT; |
277 } | 277 } |
278 | 278 |
279 p->free_raw_hunks = p->free_raw_hunks->next; | 279 p->free_raw_hunks = p->free_raw_hunks->next; |
280 | 280 |
281 for (cl = p->free_raw_hunks; cl; cl = cl->next) { | 281 if (p->free_bufs) { |
282 ngx_pfree(p->pool, cl->hunk->start); | 282 for (cl = p->free_raw_hunks; cl; cl = cl->next) { |
283 ngx_pfree(p->pool, cl->hunk->start); | |
284 } | |
283 } | 285 } |
284 } | 286 } |
285 | 287 |
286 if (p->cachable && p->in) { | 288 if (p->cachable && p->in) { |
287 if (ngx_event_pipe_write_chain_to_temp_file(p) == NGX_ABORT) { | 289 if (ngx_event_pipe_write_chain_to_temp_file(p) == NGX_ABORT) { |
392 | 394 |
393 ngx_chain_update_chains(&p->free, &p->busy, &out, p->tag); | 395 ngx_chain_update_chains(&p->free, &p->busy, &out, p->tag); |
394 | 396 |
395 for (cl = p->free; cl; cl = cl->next) { | 397 for (cl = p->free; cl; cl = cl->next) { |
396 | 398 |
399 /* TODO: free hunk if p->free_bufs && upstream done */ | |
397 /* add the free shadow raw hunk to p->free_raw_hunks */ | 400 /* add the free shadow raw hunk to p->free_raw_hunks */ |
398 | 401 |
399 if (cl->hunk->type & NGX_HUNK_LAST_SHADOW) { | 402 if (cl->hunk->type & NGX_HUNK_LAST_SHADOW) { |
400 h = cl->hunk->shadow; | 403 h = cl->hunk->shadow; |
401 h->pos = h->last = h->start; | 404 h->pos = h->last = h->start; |