From 9975b088bbd24af0f0543bb921a1313a285da319 Mon Sep 17 00:00:00 2001 From: Roman Arutyunyan Date: Mon, 23 Mar 2020 19:42:09 +0300 Subject: [PATCH] Allow ngx_queue_frame() to insert frame in the front. Previously a frame could only be inserted after the first element of the list. --- src/event/ngx_event_quic.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/event/ngx_event_quic.c b/src/event/ngx_event_quic.c index acc6e671a..582d3f8ce 100644 --- a/src/event/ngx_event_quic.c +++ b/src/event/ngx_event_quic.c @@ -1142,21 +1142,16 @@ ngx_quic_handle_stream_data_blocked_frame(ngx_connection_t *c, static void ngx_quic_queue_frame(ngx_quic_connection_t *qc, ngx_quic_frame_t *frame) { - ngx_quic_frame_t *f; + ngx_quic_frame_t **f; - if (qc->frames == NULL) { - qc->frames = frame; - return; - } - - for (f = qc->frames; f->next; f = f->next) { - if (f->next->level > frame->level) { + for (f = &qc->frames; *f; f = &(*f)->next) { + if ((*f)->level > frame->level) { break; } } - frame->next = f->next; - f->next = frame; + frame->next = *f; + *f = frame; }