From: Christopher Faulet Date: Tue, 5 May 2026 14:02:01 +0000 (+0200) Subject: BUG/MEDIUM: haterm: Subscribe for receives until request was fully drained X-Git-Tag: v3.4-dev11~38 X-Git-Url: http://www.kaiwu.me/sitemap.xml?a=commitdiff_plain;h=1bc050bc4957f24f3c9fc6f60f28e2d927c1478f;p=haproxy.git BUG/MEDIUM: haterm: Subscribe for receives until request was fully drained When draining the request, if some data were received, no subscribe for receives was performed to get the remaining. However, because request data are just ignored, we must always subscribe until it was fully drained. Otherwise, haterm will never be woken up to drain more data. --- diff --git a/src/haterm.c b/src/haterm.c index bab6d810f..11bab6a22 100644 --- a/src/haterm.c +++ b/src/haterm.c @@ -290,7 +290,7 @@ static int hstream_htx_buf_rcv(struct connection *conn, struct hstream *hs) TRACE_ERROR("connection error during recv", HS_EV_HSTRM_RECV, hs); goto stop; } - else if (!read && !fin && !sc_ep_test(hs->sc, SE_FL_ERROR | SE_FL_EOS)) { + else if (!fin && !sc_ep_test(hs->sc, SE_FL_ERROR | SE_FL_EOS)) { TRACE_DEVEL("subscribing for read data", HS_EV_HSTRM_RECV, hs); conn->mux->subscribe(hs->sc, SUB_RETRY_RECV, &hs->sc->wait_event); goto wait_more_data;