aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorValentin Bartenev <vbart@nginx.com>2013-10-01 00:14:37 +0400
committerValentin Bartenev <vbart@nginx.com>2013-10-01 00:14:37 +0400
commitcca2b04f51b5c33b1c4cd4ded1121336754a68e3 (patch)
tree8ffbe04016c5e6f2b2df7c741aa30ffb9af7784b /src
parent4f4963e87e734e2ec69d19a11fb00c3ad1f9d154 (diff)
downloadnginx-cca2b04f51b5c33b1c4cd4ded1121336754a68e3.tar.gz
nginx-cca2b04f51b5c33b1c4cd4ded1121336754a68e3.zip
SPDY: ignore priority when queuing blocked frames.
With this change all such frames will be added in front of the output queue, and will be sent first. It prevents HOL blocking when response with higher priority is blocked by response with lower priority in the middle of the queue because the order of their SYN_REPLY frames cannot be changed. Proposed by Yury Kirpichev.
Diffstat (limited to 'src')
-rw-r--r--src/http/ngx_http_spdy.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/http/ngx_http_spdy.h b/src/http/ngx_http_spdy.h
index 63014066d..c47243fb0 100644
--- a/src/http/ngx_http_spdy.h
+++ b/src/http/ngx_http_spdy.h
@@ -173,9 +173,9 @@ ngx_http_spdy_queue_blocked_frame(ngx_http_spdy_connection_t *sc,
{
ngx_http_spdy_out_frame_t **out;
- for (out = &sc->last_out; *out && !(*out)->blocked; out = &(*out)->next)
+ for (out = &sc->last_out; *out; out = &(*out)->next)
{
- if (frame->priority >= (*out)->priority) {
+ if ((*out)->blocked) {
break;
}
}