mirror of
https://github.com/nginx/nginx.git
synced 2025-06-22 13:51:12 +08:00
Free remaining frames on connection close.
Frames can still float in the following queues: - crypto frames reordering queues (one per encryption level) - moved crypto frames cleanup to the moment where all streams are closed - stream frames reordering queues (one per packet number namespace) - frames retransmit queues (one per packet number namespace)
This commit is contained in:
parent
53d47318c5
commit
001b81af88
@ -750,10 +750,6 @@ ngx_quic_close_connection(ngx_connection_t *c)
|
|||||||
|
|
||||||
if (qc) {
|
if (qc) {
|
||||||
|
|
||||||
for (i = 0; i < NGX_QUIC_ENCRYPTION_LAST; i++) {
|
|
||||||
ngx_quic_free_frames(c, &qc->crypto[i].frames);
|
|
||||||
}
|
|
||||||
|
|
||||||
qc->closing = 1;
|
qc->closing = 1;
|
||||||
tree = &qc->streams.tree;
|
tree = &qc->streams.tree;
|
||||||
|
|
||||||
@ -793,6 +789,15 @@ ngx_quic_close_connection(ngx_connection_t *c)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < NGX_QUIC_ENCRYPTION_LAST; i++) {
|
||||||
|
ngx_quic_free_frames(c, &qc->crypto[i].frames);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < NGX_QUIC_SEND_CTX_LAST; i++) {
|
||||||
|
ngx_quic_free_frames(c, &qc->send_ctx[i].frames);
|
||||||
|
ngx_quic_free_frames(c, &qc->send_ctx[i].sent);
|
||||||
|
}
|
||||||
|
|
||||||
if (qc->push.timer_set) {
|
if (qc->push.timer_set) {
|
||||||
ngx_del_timer(&qc->push);
|
ngx_del_timer(&qc->push);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user