mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-12 18:16:58 +02:00
MINOR: quic: Add traces about TX frame memory releasing
Add such traces in qc_treat_acked_tx_frm(). This should be helpful to track memory leak issues for TX frames.
This commit is contained in:
parent
b44cbc68a6
commit
e87b3ee9f5
@ -1484,6 +1484,7 @@ static inline void qc_treat_acked_tx_frm(struct quic_conn *qc,
|
|||||||
struct quic_frame *frm)
|
struct quic_frame *frm)
|
||||||
{
|
{
|
||||||
int stream_acked;
|
int stream_acked;
|
||||||
|
uint64_t pn;
|
||||||
|
|
||||||
TRACE_PROTO("Removing frame", QUIC_EV_CONN_PRSAFRM, qc, frm);
|
TRACE_PROTO("Removing frame", QUIC_EV_CONN_PRSAFRM, qc, frm);
|
||||||
stream_acked = 0;
|
stream_acked = 0;
|
||||||
@ -1507,7 +1508,10 @@ static inline void qc_treat_acked_tx_frm(struct quic_conn *qc,
|
|||||||
if (!node) {
|
if (!node) {
|
||||||
TRACE_PROTO("acked stream for released stream", QUIC_EV_CONN_ACKSTRM, qc, strm_frm);
|
TRACE_PROTO("acked stream for released stream", QUIC_EV_CONN_ACKSTRM, qc, strm_frm);
|
||||||
LIST_DELETE(&frm->list);
|
LIST_DELETE(&frm->list);
|
||||||
|
pn = frm->pkt->pn_node.key;
|
||||||
quic_tx_packet_refdec(frm->pkt);
|
quic_tx_packet_refdec(frm->pkt);
|
||||||
|
TRACE_PROTO("freeing frame from packet",
|
||||||
|
QUIC_EV_CONN_PRSAFRM, qc, frm, &pn);
|
||||||
pool_free(pool_head_quic_frame, frm);
|
pool_free(pool_head_quic_frame, frm);
|
||||||
|
|
||||||
/* early return */
|
/* early return */
|
||||||
@ -1527,13 +1531,19 @@ static inline void qc_treat_acked_tx_frm(struct quic_conn *qc,
|
|||||||
/* no need to continue if stream freed. */
|
/* no need to continue if stream freed. */
|
||||||
TRACE_PROTO("stream released and freed", QUIC_EV_CONN_ACKSTRM, qc);
|
TRACE_PROTO("stream released and freed", QUIC_EV_CONN_ACKSTRM, qc);
|
||||||
LIST_DELETE(&frm->list);
|
LIST_DELETE(&frm->list);
|
||||||
|
pn = frm->pkt->pn_node.key;
|
||||||
quic_tx_packet_refdec(frm->pkt);
|
quic_tx_packet_refdec(frm->pkt);
|
||||||
|
TRACE_PROTO("freeing frame from packet",
|
||||||
|
QUIC_EV_CONN_PRSAFRM, qc, frm, &pn);
|
||||||
pool_free(pool_head_quic_frame, frm);
|
pool_free(pool_head_quic_frame, frm);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
LIST_DELETE(&frm->list);
|
LIST_DELETE(&frm->list);
|
||||||
|
pn = frm->pkt->pn_node.key;
|
||||||
quic_tx_packet_refdec(frm->pkt);
|
quic_tx_packet_refdec(frm->pkt);
|
||||||
|
TRACE_PROTO("freeing frame from packet",
|
||||||
|
QUIC_EV_CONN_PRSAFRM, qc, frm, &pn);
|
||||||
pool_free(pool_head_quic_frame, frm);
|
pool_free(pool_head_quic_frame, frm);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -1545,7 +1555,10 @@ static inline void qc_treat_acked_tx_frm(struct quic_conn *qc,
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LIST_DELETE(&frm->list);
|
LIST_DELETE(&frm->list);
|
||||||
|
pn = frm->pkt->pn_node.key;
|
||||||
quic_tx_packet_refdec(frm->pkt);
|
quic_tx_packet_refdec(frm->pkt);
|
||||||
|
TRACE_PROTO("freeing frame from packet",
|
||||||
|
QUIC_EV_CONN_PRSAFRM, qc, frm, &pn);
|
||||||
pool_free(pool_head_quic_frame, frm);
|
pool_free(pool_head_quic_frame, frm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user