Mercurial > hg > nginx
comparison src/event/ngx_event_pipe.c @ 3050:f54b02dbb12b
axe r->connection->destroyed testing
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 26 Aug 2009 16:14:57 +0000 |
parents | 90422d071d3f |
children | 6060225e9261 |
comparison
equal
deleted
inserted
replaced
3049:67254117b774 | 3050:f54b02dbb12b |
---|---|
452 cl->buf->recycled = 0; | 452 cl->buf->recycled = 0; |
453 } | 453 } |
454 | 454 |
455 rc = p->output_filter(p->output_ctx, p->out); | 455 rc = p->output_filter(p->output_ctx, p->out); |
456 | 456 |
457 if (downstream->destroyed) { | |
458 return NGX_ABORT; | |
459 } | |
460 | |
461 if (rc == NGX_ERROR) { | 457 if (rc == NGX_ERROR) { |
462 p->downstream_error = 1; | 458 p->downstream_error = 1; |
463 return ngx_event_pipe_drain_chains(p); | 459 return ngx_event_pipe_drain_chains(p); |
464 } | 460 } |
465 | 461 |
473 for (cl = p->in; cl; cl = cl->next) { | 469 for (cl = p->in; cl; cl = cl->next) { |
474 cl->buf->recycled = 0; | 470 cl->buf->recycled = 0; |
475 } | 471 } |
476 | 472 |
477 rc = p->output_filter(p->output_ctx, p->in); | 473 rc = p->output_filter(p->output_ctx, p->in); |
478 | |
479 if (downstream->destroyed) { | |
480 return NGX_ABORT; | |
481 } | |
482 | 474 |
483 if (rc == NGX_ERROR) { | 475 if (rc == NGX_ERROR) { |
484 p->downstream_error = 1; | 476 p->downstream_error = 1; |
485 return ngx_event_pipe_drain_chains(p); | 477 return ngx_event_pipe_drain_chains(p); |
486 } | 478 } |
622 break; | 614 break; |
623 } | 615 } |
624 | 616 |
625 rc = p->output_filter(p->output_ctx, out); | 617 rc = p->output_filter(p->output_ctx, out); |
626 | 618 |
627 if (downstream->destroyed) { | |
628 return NGX_ABORT; | |
629 } | |
630 | |
631 if (rc == NGX_ERROR) { | 619 if (rc == NGX_ERROR) { |
632 p->downstream_error = 1; | 620 p->downstream_error = 1; |
633 return ngx_event_pipe_drain_chains(p); | 621 return ngx_event_pipe_drain_chains(p); |
634 } | 622 } |
635 | 623 |