# HG changeset patch # User Roman Arutyunyan # Date 1662541976 -14400 # Node ID 740d7d6e8ff0900e0a6e019d7c5630392e22ad65 # Parent 2e51cf3ffd9001b77f78773a46f25f042fa2fea5 QUIC: do not send MAX_STREAMS in shutdown state. No more streams are expected from client. diff --git a/src/event/quic/ngx_event_quic_streams.c b/src/event/quic/ngx_event_quic_streams.c --- a/src/event/quic/ngx_event_quic_streams.c +++ b/src/event/quic/ngx_event_quic_streams.c @@ -1072,6 +1072,15 @@ ngx_quic_close_stream(ngx_quic_stream_t return NGX_OK; } + if (!pc->reusable && ngx_quic_can_shutdown(pc) == NGX_OK) { + ngx_reusable_connection(pc, 1); + } + + if (qc->shutdown) { + ngx_quic_shutdown_quic(pc); + return NGX_OK; + } + if ((qs->id & NGX_QUIC_STREAM_SERVER_INITIATED) == 0) { frame = ngx_quic_alloc_frame(pc); if (frame == NULL) { @@ -1093,14 +1102,6 @@ ngx_quic_close_stream(ngx_quic_stream_t ngx_quic_queue_frame(qc, frame); } - if (!pc->reusable && ngx_quic_can_shutdown(pc) == NGX_OK) { - ngx_reusable_connection(pc, 1); - } - - if (qc->shutdown) { - ngx_quic_shutdown_quic(pc); - } - return NGX_OK; }