From: Valentin Bartenev Date: Mon, 30 Sep 2013 20:14:37 +0000 (+0400) Subject: SPDY: ignore priority when queuing blocked frames. X-Git-Tag: release-1.5.6~1 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=cca2b04f51b5c33b1c4cd4ded1121336754a68e3;p=nginx.git 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. --- 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; } }