From 46c5c232d72e9c2f193f654bc5b7529e02441fce Mon Sep 17 00:00:00 2001 From: Amaury Denoyelle Date: Wed, 19 Nov 2025 11:40:40 +0100 Subject: [PATCH] BUG/MINOR: quic: do not decrement jobs for backend conns jobs is a global counter which serves to account activity through the whole process. Soft-stop procedure will wait until this counter is resetted to the nul value. jobs is not used for backend connections. Thus, it is not incremented when a QUIC backend connection is instantiated as expected. However, decrement is performed on all sides during quic_conn_release(). This causes the counter wrapping. Fix this by decrementing jobs only for frontend connections. Without this patch, soft stop procedure will hang indefinitely if QUIC backend connections were in use. --- src/quic_conn.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/quic_conn.c b/src/quic_conn.c index 12532594a..2a82484d7 100644 --- a/src/quic_conn.c +++ b/src/quic_conn.c @@ -1554,7 +1554,7 @@ int quic_conn_release(struct quic_conn *qc) ret = 1; } - if (qc_test_fd(qc)) + if (!qc_is_back(qc) && qc_test_fd(qc)) _HA_ATOMIC_DEC(&jobs); /* Close quic-conn socket fd. */ -- 2.47.3