Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nginx/nginx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
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
parent4f4963e87e734e2ec69d19a11fb00c3ad1f9d154 (diff)
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.
-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;
}
}