diff options
| author | Vladimir Homutov <vl@nginx.com> | 2021-07-28 17:23:18 +0300 |
|---|---|---|
| committer | Vladimir Homutov <vl@nginx.com> | 2021-07-28 17:23:18 +0300 |
| commit | cc3752ce8e7d2ff93df3da054cec2cccbbcfe260 (patch) | |
| tree | 6156145a8e4d54dd00aba2b93430cb564b95e7ae /src/event/quic/ngx_event_quic.c | |
| parent | 5bb45c98a73044ce2b7f389c7764cc10cc869bed (diff) | |
| download | nginx-cc3752ce8e7d2ff93df3da054cec2cccbbcfe260.tar.gz nginx-cc3752ce8e7d2ff93df3da054cec2cccbbcfe260.tar.bz2 | |
QUIC: handle EAGAIN properly on UDP sockets.
Previously, the error was ignored leading to unnecessary retransmits.
Now, unsent frames are returned into output queue, state is reset, and
timer is started for the next send attempt.
Diffstat (limited to 'src/event/quic/ngx_event_quic.c')
| -rw-r--r-- | src/event/quic/ngx_event_quic.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/event/quic/ngx_event_quic.c b/src/event/quic/ngx_event_quic.c index 302101cf4..515fb9b55 100644 --- a/src/event/quic/ngx_event_quic.c +++ b/src/event/quic/ngx_event_quic.c @@ -255,6 +255,7 @@ ngx_quic_new_connection(ngx_connection_t *c, ngx_quic_conf_t *conf, for (i = 0; i < NGX_QUIC_SEND_CTX_LAST; i++) { ngx_queue_init(&qc->send_ctx[i].frames); + ngx_queue_init(&qc->send_ctx[i].sending); ngx_queue_init(&qc->send_ctx[i].sent); qc->send_ctx[i].largest_pn = NGX_QUIC_UNSET_PN; qc->send_ctx[i].largest_ack = NGX_QUIC_UNSET_PN; |
