aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2014-01-22 16:05:07 +0400
committerMaxim Dounin <mdounin@mdounin.ru>2014-01-22 16:05:07 +0400
commitc74e23ba3af8d9d8da048cb40bb7d77ab0143a94 (patch)
tree190b32e2e2d245aa3e5931d7da7cf450f1d25901
parent096bcd03c30280778178fd3698afd56a8e3938e5 (diff)
downloadnginx-c74e23ba3af8d9d8da048cb40bb7d77ab0143a94.tar.gz
nginx-c74e23ba3af8d9d8da048cb40bb7d77ab0143a94.zip
Upstream: reading from a client after connection upgrade.
Read event on a client connection might have been disabled during previous processing, and we at least need to handle events. Calling ngx_http_upstream_process_upgraded() is a simpliest way to do it. Notably this change is needed for select, poll and /dev/poll event methods. Previous version of this patch was posted here: http://mailman.nginx.org/pipermail/nginx/2014-January/041839.html
-rw-r--r--src/http/ngx_http_upstream.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
index b6504d325..0524144f2 100644
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -2560,11 +2560,7 @@ ngx_http_upstream_upgrade(ngx_http_request_t *r, ngx_http_upstream_t *u)
ngx_http_upstream_process_upgraded(r, 1, 1);
}
- if (c->read->ready
- || r->header_in->pos != r->header_in->last)
- {
- ngx_http_upstream_process_upgraded(r, 0, 1);
- }
+ ngx_http_upstream_process_upgraded(r, 0, 1);
}