Mercurial > hg > nginx
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); |