aboutsummaryrefslogtreecommitdiff
path: root/src/event/ngx_event_pipe.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2006-02-16 15:26:46 +0000
committerIgor Sysoev <igor@sysoev.ru>2006-02-16 15:26:46 +0000
commitc2807ecf4522cbd23c18fe87e3d4c0f793026e7a (patch)
treed6c4d64689d7ec8dd8315988360e6c5b62b3c210 /src/event/ngx_event_pipe.c
parentc07b968bebe0801836ee94753b28a7d227ff76cc (diff)
downloadnginx-release-0.3.28.tar.gz
nginx-release-0.3.28.zip
nginx-0.3.28-RELEASE importrelease-0.3.28
*) Feature: the "restrict_host_names" directive was canceled. *) Feature: the --with-cpu-opt=ppc64 configuration parameter. *) Bugfix: on some condition the proxied connection with a client was terminated prematurely. Thanks to Vladimir Shutoff. *) Bugfix: the "X-Accel-Limit-Rate" header line was not taken into account if the request was redirected using the "X-Accel-Redirect" header line. *) Bugfix: the "post_action" directive ran only after a successful completion of a request. *) Bugfix: the proxied response body generated by the "post_action" directive was transferred to a client.
Diffstat (limited to 'src/event/ngx_event_pipe.c')
-rw-r--r--src/event/ngx_event_pipe.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/event/ngx_event_pipe.c b/src/event/ngx_event_pipe.c
index ffb7929dd..09b6f6a6e 100644
--- a/src/event/ngx_event_pipe.c
+++ b/src/event/ngx_event_pipe.c
@@ -60,8 +60,11 @@ ngx_event_pipe(ngx_event_pipe_t *p, int do_write)
return NGX_ABORT;
}
- if (rev->active) {
+ if (rev->active && !rev->ready) {
ngx_add_timer(rev, p->read_timeout);
+
+ } else if (rev->timer_set) {
+ ngx_del_timer(rev);
}
}
@@ -71,8 +74,13 @@ ngx_event_pipe(ngx_event_pipe_t *p, int do_write)
return NGX_ABORT;
}
- if (wev->active && !wev->ready && !wev->delayed) {
- ngx_add_timer(wev, p->send_timeout);
+ if (!wev->delayed) {
+ if (wev->active && !wev->ready) {
+ ngx_add_timer(wev, p->send_timeout);
+
+ } else if (wev->timer_set) {
+ ngx_del_timer(wev);
+ }
}
}