From: Amaury Denoyelle Date: Wed, 28 May 2025 09:26:08 +0000 (+0200) Subject: MINOR: quic: wakeup backend MUX on handshake completed X-Git-Tag: v3.3-dev2~67 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4031bf743255ce2317b856316d288848cb173d16;p=thirdparty%2Fhaproxy.git MINOR: quic: wakeup backend MUX on handshake completed This commit is the second and final step to initiate QUIC MUX on the backend side. On handshake completion, MUX is woken up just after its creation. This step is necessary to notify the stream layer, via the QCS instance pre-initialized on MUX init, so that the transfer can be resumed. This mode of operation is similar to TCP stack when TLS+ALPN are used, which forces MUX initialization to be delayed after handshake completion. --- diff --git a/src/quic_ssl.c b/src/quic_ssl.c index 120684f0a..3341e03cb 100644 --- a/src/quic_ssl.c +++ b/src/quic_ssl.c @@ -975,6 +975,8 @@ static int qc_ssl_provide_quic_data(struct ncbuf *ncbuf, goto leave; } + /* Wake up MUX after its creation. Operation similar to TLS+ALPN on TCP stack. */ + ctx->conn->mux->wake(ctx->conn); qc->mux_state = QC_MUX_READY; }