mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-28 06:11:32 +01:00
BUG/MEDIUM: mux-quic: reinsert all streams in by_id tree
It is required that all qcs streams are in the by_id tree for the xprt to function correctly. Without this, some ACKs are not properly emitted by xprt. Note that this change breaks the free of the connection because the condition eb_is_empty in qc_detach is always true. This will be fixed in a following patch.
This commit is contained in:
parent
75dd2b7987
commit
139814a67a
@ -1030,9 +1030,7 @@ struct qcs *luqs_new(struct qcc *qcc)
|
||||
|
||||
qcs->subs = NULL;
|
||||
LIST_INIT(&qcs->list);
|
||||
// TODO do not insert luqs into streams_by_id as it prevent to detect
|
||||
// that the connection is dead
|
||||
//eb64_insert(&qcc->streams_by_id, &qcs->by_id);
|
||||
eb64_insert(&qcc->streams_by_id, &qcs->by_id);
|
||||
|
||||
TRACE_LEAVE(QC_EV_QCS_NEW, qcc->conn);
|
||||
return qcs;
|
||||
@ -1074,9 +1072,7 @@ struct qcs *ruqs_new(struct qcc *qcc, uint64_t id)
|
||||
|
||||
qcs->subs = NULL;
|
||||
LIST_INIT(&qcs->list);
|
||||
// TODO do not insert ruqs into streams_by_id as it prevent to detect
|
||||
// that the connection is dead
|
||||
//eb64_insert(&qcc->streams_by_id, &qcs->by_id);
|
||||
eb64_insert(&qcc->streams_by_id, &qcs->by_id);
|
||||
|
||||
TRACE_LEAVE(QC_EV_QCS_NEW, qcc->conn);
|
||||
return qcs;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user