comparison src/event/quic/ngx_event_quic_streams.c @ 9005:e56a05d6dbd1 quic

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.
author Roman Arutyunyan <arut@nginx.com>
date Wed, 09 Feb 2022 14:49:05 +0300
parents 6c1dfd072859
children a5aebd51e4c7
comparison
equal deleted inserted replaced
9004:dde5cb0205ef 9005:e56a05d6dbd1
881 c->sent += n; 881 c->sent += n;
882 qc->streams.sent += n; 882 qc->streams.sent += n;
883 883
884 ngx_quic_queue_frame(qc, frame); 884 ngx_quic_queue_frame(qc, frame);
885 885
886 if (in) { 886 if (flow == (off_t) n) {
887 wev->ready = 0; 887 wev->ready = 0;
888 } 888 }
889 889
890 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, 890 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0,
891 "quic send_chain sent:%uz", n); 891 "quic send_chain sent:%uz", n);