Mercurial > hg > nginx-quic
comparison src/event/ngx_event_pipe.c @ 189:c966c09be66b
nginx-0.0.1-2003-11-18-19:49:00 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 18 Nov 2003 16:49:00 +0000 |
parents | 0061d1f0908d |
children | 2357fa41738a |
comparison
equal
deleted
inserted
replaced
188:0061d1f0908d | 189:c966c09be66b |
---|---|
17 static int ngx_event_pipe_drain_chains(ngx_event_pipe_t *p); | 17 static int ngx_event_pipe_drain_chains(ngx_event_pipe_t *p); |
18 | 18 |
19 | 19 |
20 int ngx_event_pipe(ngx_event_pipe_t *p, int do_write) | 20 int ngx_event_pipe(ngx_event_pipe_t *p, int do_write) |
21 { | 21 { |
22 int flags; | |
22 ngx_event_t *rev, *wev; | 23 ngx_event_t *rev, *wev; |
23 | 24 |
24 for ( ;; ) { | 25 for ( ;; ) { |
25 if (do_write) { | 26 if (do_write) { |
26 if (ngx_event_pipe_write_to_downstream(p) == NGX_ABORT) { | 27 if (ngx_event_pipe_write_to_downstream(p) == NGX_ABORT) { |
43 } | 44 } |
44 | 45 |
45 if (p->upstream->fd != -1) { | 46 if (p->upstream->fd != -1) { |
46 rev = p->upstream->read; | 47 rev = p->upstream->read; |
47 | 48 |
48 if (ngx_handle_read_event(rev, (rev->eof || rev->error)) == NGX_ERROR) { | 49 flags = (rev->eof || rev->error) ? NGX_CLOSE_EVENT : 0; |
50 | |
51 if (ngx_handle_read_event(rev, flags) == NGX_ERROR) { | |
49 return NGX_ABORT; | 52 return NGX_ABORT; |
50 } | 53 } |
51 | 54 |
52 if (rev->active) { | 55 if (rev->active) { |
53 ngx_add_timer(rev, p->read_timeout); | 56 ngx_add_timer(rev, p->read_timeout); |
54 } | 57 } |
55 } | 58 } |
56 | 59 |
57 ngx_log_debug(p->log, "DOWN: %d" _ p->downstream->fd); | |
58 | |
59 if (p->downstream->fd != -1) { | 60 if (p->downstream->fd != -1) { |
60 wev = p->downstream->write; | 61 wev = p->downstream->write; |
61 | 62 wev->available = p->send_lowat; |
62 if (ngx_handle_write_event(wev, p->send_lowat) == NGX_ERROR) { | 63 if (ngx_handle_write_event(wev, NGX_LOWAT_EVENT) == NGX_ERROR) { |
63 return NGX_ABORT; | 64 return NGX_ABORT; |
64 } | 65 } |
65 | 66 |
66 if (wev->active) { | 67 if (wev->active) { |
67 ngx_add_timer(wev, p->send_timeout); | 68 ngx_add_timer(wev, p->send_timeout); |