BUG/MINOR: haterm: Fix condition to use direct data forwarding

The direct fowarding support was only relying on "hs->to_write" value. But
we must be sure to retry if fast-forward data are still there in the I/O
buffer.
This commit is contained in:
Christopher Faulet 2026-05-05 18:25:27 +02:00
parent b6503f70e2
commit 72e010fca3

View File

@ -1047,12 +1047,9 @@ static struct task *process_hstream(struct task *t, void *context, unsigned int
goto err;
/* TX part */
if (hstream_is_fastfwd_supported(hs)) {
if (hstream_is_fastfwd_supported(hs) || se_have_ff_data(hs->sc->sedesc)) {
if (!htx_is_empty(htxbuf(&hs->res)))
goto flush_res_buf;
if (!hs->to_write && !se_have_ff_data(hs->sc->sedesc))
goto out;
ret = hstream_ff_snd(conn, hs);
if (ret >= 0)
goto send_done;