diff options
author | Maxim Dounin <mdounin@mdounin.ru> | 2014-01-22 16:05:07 +0400 |
---|---|---|
committer | Maxim Dounin <mdounin@mdounin.ru> | 2014-01-22 16:05:07 +0400 |
commit | c74e23ba3af8d9d8da048cb40bb7d77ab0143a94 (patch) | |
tree | 190b32e2e2d245aa3e5931d7da7cf450f1d25901 | |
parent | 096bcd03c30280778178fd3698afd56a8e3938e5 (diff) | |
download | nginx-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.c | 6 |
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); } |