Mercurial > hg > nginx-quic
diff 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 |
line wrap: on
line diff
--- a/src/event/ngx_event_pipe.c +++ b/src/event/ngx_event_pipe.c @@ -19,6 +19,7 @@ static int ngx_event_pipe_drain_chains(n int ngx_event_pipe(ngx_event_pipe_t *p, int do_write) { + int flags; ngx_event_t *rev, *wev; for ( ;; ) { @@ -45,7 +46,9 @@ int ngx_event_pipe(ngx_event_pipe_t *p, if (p->upstream->fd != -1) { rev = p->upstream->read; - if (ngx_handle_read_event(rev, (rev->eof || rev->error)) == NGX_ERROR) { + flags = (rev->eof || rev->error) ? NGX_CLOSE_EVENT : 0; + + if (ngx_handle_read_event(rev, flags) == NGX_ERROR) { return NGX_ABORT; } @@ -54,12 +57,10 @@ int ngx_event_pipe(ngx_event_pipe_t *p, } } -ngx_log_debug(p->log, "DOWN: %d" _ p->downstream->fd); - if (p->downstream->fd != -1) { wev = p->downstream->write; - - if (ngx_handle_write_event(wev, p->send_lowat) == NGX_ERROR) { + wev->available = p->send_lowat; + if (ngx_handle_write_event(wev, NGX_LOWAT_EVENT) == NGX_ERROR) { return NGX_ABORT; }