From 90b19bf65de489d7f729c2876ff5cd63670111f9 Mon Sep 17 00:00:00 2001 From: Roman Arutyunyan Date: Wed, 9 Feb 2022 14:49:05 +0300 Subject: [PATCH] QUIC: fixed resetting stream wev->ready flag. Previously, the flag could be reset after send_chain() with a limit, even though there was room for more data. The application then started waiting for a write event notification, which never happened. Now the wev->ready flag is only reset when flow control is exhausted. --- src/event/quic/ngx_event_quic_streams.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/event/quic/ngx_event_quic_streams.c b/src/event/quic/ngx_event_quic_streams.c index c0f32394d..8b13f6edc 100644 --- a/src/event/quic/ngx_event_quic_streams.c +++ b/src/event/quic/ngx_event_quic_streams.c @@ -883,7 +883,7 @@ ngx_quic_stream_send_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit) ngx_quic_queue_frame(qc, frame); - if (in) { + if (flow == (off_t) n) { wev->ready = 0; }