Since commit
723c73f8a ("MEDIUM: mux-h1: Split h1_process_mux() to make code
more readable"), outgoing H1 chunked messages with no data at all get
delayed by 200ms. It is due to the fact that we end processing too early and
we don't have the opportunity to process trailers in this case.
This fix addresses it by verifying if it's required to emit EOT or trailers,
if any, when retruning from h1_make_data()
No backport is needed, this was in 2.9-dev.
ret = h1_make_data(h1s, h1m, buf, count);
if (ret > 0)
htx = htx_from_buf(buf);
+ if (unlikely(h1m->state == H1_MSG_TRAILERS)) // in case of no data
+ ret += h1_make_trailers(h1s, h1m, htx, count);
break;
case H1_MSG_TUNNEL: