BUG/MINOR: stconn: Don't disable 0-copy FF if EOS was reported on consumer side

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.
This commit is contained in:
Christopher Faulet 2024-10-24 11:53:10 +02:00
parent 5970c6abec
commit 362de90f3e
1 changed files with 2 additions and 2 deletions

View File

@ -490,8 +490,8 @@ static inline size_t se_nego_ff(struct sedesc *se, struct buffer *input, size_t
se->iobuf.flags &= ~(IOBUF_FL_FF_BLOCKED|IOBUF_FL_FF_WANT_ROOM); se->iobuf.flags &= ~(IOBUF_FL_FF_BLOCKED|IOBUF_FL_FF_WANT_ROOM);
if (mux->nego_fastfwd && mux->done_fastfwd) { if (mux->nego_fastfwd && mux->done_fastfwd) {
/* Disable zero-copy forwarding if EOS or an error was reported. */ /* Disable zero-copy forwarding if an error was reported. */
if (se_fl_test(se, SE_FL_EOS|SE_FL_ERROR|SE_FL_ERR_PENDING)) { if (se_fl_test(se, SE_FL_ERROR|SE_FL_ERR_PENDING)) {
se->iobuf.flags |= IOBUF_FL_NO_FF; se->iobuf.flags |= IOBUF_FL_NO_FF;
goto end; goto end;
} }