MINOR: mux-h1: Handle read0 during TCP splicing

It avoids a roundtrip with underlying I/O callbacks to do so. If a read0 is
handled at the end of h1_rcv_pipe(), the flag CS_FL_REOS is set on the
conn_stream. And if there is no data in the pipe, the flag CS_FL_EOS is also
set.

This path may be backported to 1.9.
This commit is contained in:
Christopher Faulet 2019-04-17 11:03:22 +02:00
parent e18777b79d
commit 038ad8123b

View File

@ -2318,6 +2318,11 @@ static int h1_rcv_pipe(struct conn_stream *cs, struct pipe *pipe, unsigned int c
}
end:
if (conn_xprt_read0_pending(cs->conn)) {
cs->flags |= CS_FL_REOS;
if (!pipe->data)
cs->flags |= CS_FL_EOS;
}
return ret;
}