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.
This commit is contained in:
Olivier Houchard 2020-06-19 16:15:05 +02:00 committed by Willy Tarreau
parent 8945bb6c05
commit c89a42feba

View File

@ -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); ret = h1_process_output(h1c, buf, count);
else else
TRACE_DEVEL("h1c obuf not allocated", H1_EV_STRM_SEND|H1_EV_H1S_BLK, h1c->conn, h1s); 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) if (!ret)
break; break;
total += ret; total += ret;