changeset 5405:620808518349

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.
author Valentin Bartenev <vbart@nginx.com>
date Tue, 01 Oct 2013 00:14:37 +0400
parents db85dacfa013
children 70c5cd3a61cb
files src/http/ngx_http_spdy.h
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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_ht
 {
     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;
         }
     }