# HG changeset patch # User Roman Arutyunyan # Date 1599393083 -10800 # Node ID 62db595a86b5708ffb4a2d159f144e07bf666cfc # Parent 3afaaaa930ab39d3433b0d28d2dcfeea3252f01f QUIC: do not send STOP_SENDING after STREAM fin. Previously STOP_SENDING was sent to client upon stream closure if rev->eof and rev->error were not set. This was an indirect indication that no RESET_STREAM or STREAM fin has arrived. But it is indeed possible that rev->eof is not set, but STREAM fin has already been received, just not read out by the application. In this case sending STOP_SENDING does not make sense and can be misleading for some clients. diff -r 3afaaaa930ab -r 62db595a86b5 src/event/ngx_event_quic.c --- a/src/event/ngx_event_quic.c Thu Sep 03 13:11:27 2020 +0300 +++ b/src/event/ngx_event_quic.c Sun Sep 06 14:51:23 2020 +0300 @@ -4895,7 +4895,7 @@ if ((qs->id & NGX_QUIC_STREAM_SERVER_INITIATED) == 0 || (qs->id & NGX_QUIC_STREAM_UNIDIRECTIONAL) == 0) { - if (!c->read->eof && !c->read->error) { + if (!c->read->pending_eof && !c->read->error) { frame = ngx_quic_alloc_frame(pc, 0); if (frame == NULL) { return;