Mercurial > hg > ngx_http_upstream_keepalive
diff ngx_http_upstream_keepalive_module.c @ 42:c53e018dbcf5
Keepalive: do not reject connections with ready flag set.
Instead, call read event handler explicitly to test if there are actually
any unexpected data. This fixes unbuffered proxy connections not being
cached with epoll and rtsig event methods.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 08 Sep 2011 17:12:07 +0400 |
parents | 17b2dbbbce98 |
children | 489c5d4318ff |
line wrap: on
line diff
--- a/ngx_http_upstream_keepalive_module.c +++ b/ngx_http_upstream_keepalive_module.c @@ -338,7 +338,6 @@ ngx_http_upstream_free_keepalive_peer(ng if (kp->failed || c == NULL || c->read->eof - || c->read->ready || c->read->error || c->read->timedout || c->write->error @@ -428,6 +427,10 @@ ngx_http_upstream_free_keepalive_peer(ng item->socklen = pc->socklen; ngx_memcpy(&item->sockaddr, pc->sockaddr, pc->socklen); + if (c->read->ready) { + ngx_http_upstream_keepalive_close_handler(c->read); + } + invalid: kp->original_free_peer(pc, kp->data, state);