diff options
author | Igor Sysoev <igor@sysoev.ru> | 2006-02-16 15:26:46 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2006-02-16 15:26:46 +0000 |
commit | c2807ecf4522cbd23c18fe87e3d4c0f793026e7a (patch) | |
tree | d6c4d64689d7ec8dd8315988360e6c5b62b3c210 /src/event/ngx_event_pipe.c | |
parent | c07b968bebe0801836ee94753b28a7d227ff76cc (diff) | |
download | nginx-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.c | 14 |
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); + } } } |