aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Arutyunyan <arut@nginx.com>2023-08-01 11:21:59 +0400
committerRoman Arutyunyan <arut@nginx.com>2023-08-01 11:21:59 +0400
commit842a930b88c6103a793d210826813f09d7fa84a7 (patch)
tree3a63fe3a36cdfd1d4daaaa2eb53be8d3464fb30c
parent57f87d61639d7fc0f5df187056ef03fcec3236a8 (diff)
downloadnginx-842a930b88c6103a793d210826813f09d7fa84a7.tar.gz
nginx-842a930b88c6103a793d210826813f09d7fa84a7.zip
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().
-rw-r--r--src/event/quic/ngx_event_quic_ack.c2
1 files changed, 1 insertions, 1 deletions
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