diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2007-07-29 17:29:06 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2007-07-29 17:29:06 +0000 |
| commit | 88bcb974231772d25950a62059e96e1287498d5c (patch) | |
| tree | ff9c7809ee0b6e5e4325cd3496301b14a644cce9 | |
| parent | 567f8f61f73323f83fedba1a1e2879aa616da52d (diff) | |
| download | nginx-88bcb974231772d25950a62059e96e1287498d5c.tar.gz nginx-88bcb974231772d25950a62059e96e1287498d5c.tar.bz2 | |
r1343 merge:
fix case when client has closed connection but upstream buffer is not empty
| -rw-r--r-- | src/mail/ngx_mail_proxy_module.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mail/ngx_mail_proxy_module.c b/src/mail/ngx_mail_proxy_module.c index 894c01d04..ae2fc4c38 100644 --- a/src/mail/ngx_mail_proxy_module.c +++ b/src/mail/ngx_mail_proxy_module.c @@ -866,9 +866,11 @@ ngx_mail_proxy_handler(ngx_event_t *ev) c->log->action = "proxying"; - if ((s->connection->read->eof || s->proxy->upstream.connection->read->eof) - && s->buffer->pos == s->buffer->last - && s->proxy->buffer->pos == s->proxy->buffer->last) + if ((s->connection->read->eof && s->buffer->pos == s->buffer->last) + || (s->proxy->upstream.connection->read->eof + && s->proxy->buffer->pos == s->proxy->buffer->last) + || (s->connection->read->eof + && s->proxy->upstream.connection->read->eof)) { action = c->log->action; c->log->action = NULL; |
