aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2009-08-26 16:14:57 +0000
committerIgor Sysoev <igor@sysoev.ru>2009-08-26 16:14:57 +0000
commit5297d456d82a17b2511624d96c9518fcc61ba44f (patch)
tree57d55b36b8f5efa87ea315ce56503aa486e96bf1
parentb603dd4b43b8c4b2cf8a1e74a87fd5799ab537b6 (diff)
downloadnginx-5297d456d82a17b2511624d96c9518fcc61ba44f.tar.gz
nginx-5297d456d82a17b2511624d96c9518fcc61ba44f.zip
axe r->connection->destroyed testing
-rw-r--r--src/event/ngx_event_pipe.c12
-rw-r--r--src/http/modules/perl/ngx_http_perl_module.c9
-rw-r--r--src/http/ngx_http_copy_filter_module.c16
-rw-r--r--src/http/ngx_http_core_module.c5
-rw-r--r--src/http/ngx_http_request.c8
-rw-r--r--src/http/ngx_http_upstream.c21
6 files changed, 7 insertions, 64 deletions
diff --git a/src/event/ngx_event_pipe.c b/src/event/ngx_event_pipe.c
index 5d5035ce2..bc9fb26ab 100644
--- a/src/event/ngx_event_pipe.c
+++ b/src/event/ngx_event_pipe.c
@@ -454,10 +454,6 @@ ngx_event_pipe_write_to_downstream(ngx_event_pipe_t *p)
rc = p->output_filter(p->output_ctx, p->out);
- if (downstream->destroyed) {
- return NGX_ABORT;
- }
-
if (rc == NGX_ERROR) {
p->downstream_error = 1;
return ngx_event_pipe_drain_chains(p);
@@ -476,10 +472,6 @@ ngx_event_pipe_write_to_downstream(ngx_event_pipe_t *p)
rc = p->output_filter(p->output_ctx, p->in);
- if (downstream->destroyed) {
- return NGX_ABORT;
- }
-
if (rc == NGX_ERROR) {
p->downstream_error = 1;
return ngx_event_pipe_drain_chains(p);
@@ -624,10 +616,6 @@ ngx_event_pipe_write_to_downstream(ngx_event_pipe_t *p)
rc = p->output_filter(p->output_ctx, out);
- if (downstream->destroyed) {
- return NGX_ABORT;
- }
-
if (rc == NGX_ERROR) {
p->downstream_error = 1;
return ngx_event_pipe_drain_chains(p);
diff --git a/src/http/modules/perl/ngx_http_perl_module.c b/src/http/modules/perl/ngx_http_perl_module.c
index 4409e8fa7..c4f52a58f 100644
--- a/src/http/modules/perl/ngx_http_perl_module.c
+++ b/src/http/modules/perl/ngx_http_perl_module.c
@@ -686,15 +686,6 @@ ngx_http_perl_call_handler(pTHX_ ngx_http_request_t *r, HV *nginx, SV *sub,
SPAGAIN;
- if (c->destroyed) {
- PUTBACK;
-
- FREETMPS;
- LEAVE;
-
- return NGX_DONE;
- }
-
if (n) {
if (rv == NULL) {
status = POPi;
diff --git a/src/http/ngx_http_copy_filter_module.c b/src/http/ngx_http_copy_filter_module.c
index c7f6be29d..688677f50 100644
--- a/src/http/ngx_http_copy_filter_module.c
+++ b/src/http/ngx_http_copy_filter_module.c
@@ -109,18 +109,16 @@ ngx_http_copy_filter(ngx_http_request_t *r, ngx_chain_t *in)
rc = ngx_output_chain(ctx, in);
- if (!c->destroyed) {
+ if (ctx->in == NULL) {
+ r->buffered &= ~NGX_HTTP_COPY_BUFFERED;
- if (ctx->in == NULL) {
- r->buffered &= ~NGX_HTTP_COPY_BUFFERED;
- } else {
- r->buffered |= NGX_HTTP_COPY_BUFFERED;
- }
-
- ngx_log_debug3(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
- "copy filter: %i \"%V?%V\"", rc, &r->uri, &r->args);
+ } else {
+ r->buffered |= NGX_HTTP_COPY_BUFFERED;
}
+ ngx_log_debug3(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
+ "copy filter: %i \"%V?%V\"", rc, &r->uri, &r->args);
+
return rc;
}
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
index 988d8f0e8..7b47fbb61 100644
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -1685,11 +1685,6 @@ ngx_http_output_filter(ngx_http_request_t *r, ngx_chain_t *in)
rc = ngx_http_top_body_filter(r, in);
if (rc == NGX_ERROR) {
-
- if (c->destroyed) {
- return NGX_DONE;
- }
-
/* NGX_ERROR may be returned by any filter */
c->error = 1;
}
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
index f071cf523..07bd56302 100644
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -2004,10 +2004,6 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc)
ngx_del_timer(c->write);
}
- if (c->destroyed) {
- return;
- }
-
if (c->read->eof) {
ngx_http_close_request(r, 0);
return;
@@ -2179,10 +2175,6 @@ ngx_http_writer(ngx_http_request_t *r)
rc = ngx_http_output_filter(r, NULL);
- if (c->destroyed) {
- return;
- }
-
ngx_log_debug3(NGX_LOG_DEBUG_HTTP, c->log, 0,
"http writer output filter: %d, \"%V?%V\"",
rc, &r->uri, &r->args);
diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
index 404be48ef..f552d2e76 100644
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -2260,10 +2260,6 @@ ngx_http_upstream_process_non_buffered_request(ngx_http_request_t *r,
if (u->out_bufs || u->busy_bufs) {
rc = ngx_http_output_filter(r, u->out_bufs);
- if (downstream->destroyed) {
- return;
- }
-
if (rc == NGX_ERROR) {
ngx_http_upstream_finalize_request(r, u, 0);
return;
@@ -2436,11 +2432,6 @@ ngx_http_upstream_process_downstream(ngx_http_request_t *r)
}
if (ngx_event_pipe(p, wev->write) == NGX_ABORT) {
-
- if (c->destroyed) {
- return;
- }
-
ngx_http_upstream_finalize_request(r, u, 0);
return;
}
@@ -2466,11 +2457,6 @@ ngx_http_upstream_process_downstream(ngx_http_request_t *r)
}
if (ngx_event_pipe(p, 1) == NGX_ABORT) {
-
- if (c->destroyed) {
- return;
- }
-
ngx_http_upstream_finalize_request(r, u, 0);
return;
}
@@ -2498,14 +2484,7 @@ ngx_http_upstream_process_upstream(ngx_http_request_t *r,
ngx_connection_error(c, NGX_ETIMEDOUT, "upstream timed out");
} else {
- c = r->connection;
-
if (ngx_event_pipe(u->pipe, 0) == NGX_ABORT) {
-
- if (c->destroyed) {
- return;
- }
-
ngx_http_upstream_finalize_request(r, u, 0);
return;
}