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.
This commit is contained in:
Christopher Faulet 2026-05-05 16:02:01 +02:00
parent 999d71560d
commit 1bc050bc49

View File

@ -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;