]> git.kaiwu.me - haproxy.git/commitdiff
fix -m with QUIC
authorFrederic Lecaille <flecaille@haproxy.com>
Mon, 22 Jun 2026 14:45:32 +0000 (16:45 +0200)
committerFrederic Lecaille <flecaille@haproxy.com>
Mon, 22 Jun 2026 14:45:32 +0000 (16:45 +0200)
see the comments

src/haload.c

index 0c2be6b4af39c90df7e89c8eb4a1b88e00a9c42c..f95bceefacadf38b939034ef53f91e5de9d780a2 100644 (file)
@@ -1259,7 +1259,12 @@ struct task *hld_strm_task(struct task *t, void *context, unsigned int state)
        /* Note that the user task will release all the expired streams
         * attached to it.
         */
-       task_wakeup(usr->task, TASK_WOKEN_IO);
+       /* Note that for QUIC, the number of available streams is not
+        * incremented as soon as a stream is completed (fin=1).
+        * For H1, here this number is always 0.
+        */
+       if (!url->cfg->is_quic || hs->conn->mux->avail_streams(hs->conn))
+               task_wakeup(usr->task, TASK_WOKEN_IO);
 
        LIST_DELETE(&hs->list);
        hldstream_free(&hs);