When a packet is present in the RX buffer at the first place
but without a null reference counter, there is no need to continue
to try to empty the buffer, it is sure the next packet will not
be at the first place!
break;
}
- if (!HA_ATOMIC_LOAD(&pkt->refcnt)) {
- b_del(&qc->rx.buf, pkt->raw_len);
- LIST_DELETE(&pkt->qc_rx_pkt_list);
- pool_free(pool_head_quic_rx_packet, pkt);
- }
+ if (HA_ATOMIC_LOAD(&pkt->refcnt))
+ break;
+
+ b_del(&qc->rx.buf, pkt->raw_len);
+ LIST_DELETE(&pkt->qc_rx_pkt_list);
+ pool_free(pool_head_quic_rx_packet, pkt);
}
}