There is no reason to disable the 0-copy data forwarding if an end-of-stream
was reported on the consumer side. Indeed, the consumer will send data in
this case. So there is no reason to check the read side here.
This patch may be backported as far as 2.9.
(cherry picked from commit
362de90f3e4ddd0c15331c6b9cb48b671a6e2385)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
se->iobuf.flags &= ~(IOBUF_FL_FF_BLOCKED|IOBUF_FL_FF_WANT_ROOM);
if (mux->nego_fastfwd && mux->done_fastfwd) {
- /* Disable zero-copy forwarding if EOS or an error was reported. */
- if (se_fl_test(se, SE_FL_EOS|SE_FL_ERROR|SE_FL_ERR_PENDING)) {
+ /* Disable zero-copy forwarding if an error was reported. */
+ if (se_fl_test(se, SE_FL_ERROR|SE_FL_ERR_PENDING)) {
se->iobuf.flags |= IOBUF_FL_NO_FF;
goto end;
}