diff --git a/lib/nghttp2_session.c b/lib/nghttp2_session.c index 93f3f07c..5b59ca5f 100644 --- a/lib/nghttp2_session.c +++ b/lib/nghttp2_session.c @@ -2717,13 +2717,6 @@ nghttp2_session_pop_next_ob_item(nghttp2_session *session) { return item; } - item = nghttp2_outbound_queue_top(&session->ob_reg); - if (item) { - nghttp2_outbound_queue_pop(&session->ob_reg); - item->queued = 0; - return item; - } - if (!session_is_outgoing_concurrent_streams_max(session)) { item = nghttp2_outbound_queue_top(&session->ob_syn); if (item) { @@ -2733,6 +2726,13 @@ nghttp2_session_pop_next_ob_item(nghttp2_session *session) { } } + item = nghttp2_outbound_queue_top(&session->ob_reg); + if (item) { + nghttp2_outbound_queue_pop(&session->ob_reg); + item->queued = 0; + return item; + } + if (session->remote_window_size > 0) { item = nghttp2_stream_next_outbound_item(&session->root); if (item) {