comparison src/event/ngx_event_pipe.c @ 613:c73c5c58c619 release-0.3.28

nginx-0.3.28-RELEASE import *) 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 <igor@sysoev.ru>
date Thu, 16 Feb 2006 15:26:46 +0000
parents 284cc140593b
children 3681cb9bde7d
comparison
equal deleted inserted replaced
612:182bfe05e2c3 613:c73c5c58c619
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 }