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.
This commit is contained in:
Valentin Bartenev 2013-10-01 00:14:37 +04:00
parent 4f4963e87e
commit cca2b04f51

View File

@ -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;
}
}