From: Roman Arutyunyan Date: Tue, 1 Aug 2023 07:21:59 +0000 (+0400) Subject: QUIC: fixed PTO expiration condition. X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=842a930b88c6103a793d210826813f09d7fa84a7;p=nginx.git QUIC: fixed PTO expiration condition. Previously, PTO handler analyzed the first packet in the sent queue for the timeout expiration. However, the last sent packet should be analyzed instead. An example is timeout calculation in ngx_quic_set_lost_timer(). --- diff --git a/src/event/quic/ngx_event_quic_ack.c b/src/event/quic/ngx_event_quic_ack.c index e6210653a..04fc66760 100644 --- a/src/event/quic/ngx_event_quic_ack.c +++ b/src/event/quic/ngx_event_quic_ack.c @@ -840,7 +840,7 @@ ngx_quic_pto_handler(ngx_event_t *ev) continue; } - q = ngx_queue_head(&ctx->sent); + q = ngx_queue_last(&ctx->sent); f = ngx_queue_data(q, ngx_quic_frame_t, queue); if (f->pnum <= ctx->largest_ack