From c89a42feba4ff50b5b8c2decfa6c05fc492276ad Mon Sep 17 00:00:00 2001 From: Olivier Houchard Date: Fri, 19 Jun 2020 16:15:05 +0200 Subject: [PATCH] MINOR: mux_h1: Set H1_F_CO_MSG_MORE if we know we have more to send. In h1_snd_buf(), also set H1_F_CO_MSG_MORE if we know we still have more to send, not just if the stream-interface told us to do so. This may happen if the last block of a transfer doesn't fit in the buffer, it remains useful for the transport layer to know that more data follows what's already in the buffer. --- src/mux_h1.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/mux_h1.c b/src/mux_h1.c index 8bd43c99d..ac76339ca 100644 --- a/src/mux_h1.c +++ b/src/mux_h1.c @@ -2734,6 +2734,10 @@ static size_t h1_snd_buf(struct conn_stream *cs, struct buffer *buf, size_t coun ret = h1_process_output(h1c, buf, count); else TRACE_DEVEL("h1c obuf not allocated", H1_EV_STRM_SEND|H1_EV_H1S_BLK, h1c->conn, h1s); + + if ((count - ret) > 0) + h1c->flags |= H1C_F_CO_MSG_MORE; + if (!ret) break; total += ret;