Mercurial > hg > nginx-vendor-0-5
comparison src/event/ngx_event_pipe.c @ 162:6be073125f2e NGINX_0_3_28
nginx 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.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Thu, 16 Feb 2006 00:00:00 +0300 |
parents | 3656228c0b56 |
children | 2e9c57a5e50a |
comparison
equal
deleted
inserted
replaced
161:086553d7da41 | 162:6be073125f2e |
---|---|
58 | 58 |
59 if (ngx_handle_read_event(rev, flags) == NGX_ERROR) { | 59 if (ngx_handle_read_event(rev, flags) == NGX_ERROR) { |
60 return NGX_ABORT; | 60 return NGX_ABORT; |
61 } | 61 } |
62 | 62 |
63 if (rev->active) { | 63 if (rev->active && !rev->ready) { |
64 ngx_add_timer(rev, p->read_timeout); | 64 ngx_add_timer(rev, p->read_timeout); |
65 | |
66 } else if (rev->timer_set) { | |
67 ngx_del_timer(rev); | |
65 } | 68 } |
66 } | 69 } |
67 | 70 |
68 if (p->downstream->fd != -1 && p->downstream->data == p->output_ctx) { | 71 if (p->downstream->fd != -1 && p->downstream->data == p->output_ctx) { |
69 wev = p->downstream->write; | 72 wev = p->downstream->write; |
70 if (ngx_handle_write_event(wev, p->send_lowat) == NGX_ERROR) { | 73 if (ngx_handle_write_event(wev, p->send_lowat) == NGX_ERROR) { |
71 return NGX_ABORT; | 74 return NGX_ABORT; |
72 } | 75 } |
73 | 76 |
74 if (wev->active && !wev->ready && !wev->delayed) { | 77 if (!wev->delayed) { |
75 ngx_add_timer(wev, p->send_timeout); | 78 if (wev->active && !wev->ready) { |
79 ngx_add_timer(wev, p->send_timeout); | |
80 | |
81 } else if (wev->timer_set) { | |
82 ngx_del_timer(wev); | |
83 } | |
76 } | 84 } |
77 } | 85 } |
78 | 86 |
79 return NGX_OK; | 87 return NGX_OK; |
80 } | 88 } |