MEDIUM: mux-h1: Don't block reads when waiting for the other side

When we are waiting for the other side to read more data, or to read the
next request, we must only stop the processing of input data and not the
data receipt. This patch don't change anything on the subscribes for
reads. So it should not change anything. The only difference is that the H1
connection will try to read data if it is woken up for an I/O event and if
it was subscribed for reads.

This patch is required to fix abortonclose option for H1 client connections.

(cherry picked from commit ec4207cb68b1d7d50e06d35aaa73586e2c7d46b0)
[Cf: H1C_F_IN_BUSY flag is used instead of H1C_F_WAIT_OUTPUT]
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
diff --git a/src/mux_h1.c b/src/mux_h1.c
index c55f6c4..cefba3d 100644
--- a/src/mux_h1.c
+++ b/src/mux_h1.c
@@ -373,7 +373,7 @@
 		return 0;
 	}
 
-	if (!(h1c->flags & (H1C_F_IN_ALLOC|H1C_F_IN_FULL|H1C_F_IN_BUSY)))
+	if (!(h1c->flags & (H1C_F_IN_ALLOC|H1C_F_IN_FULL)))
 		return 1;
 
 	TRACE_DEVEL("recv not allowed because input is blocked", H1_EV_H1C_RECV|H1_EV_H1C_BLK, h1c->conn);
@@ -1454,6 +1454,9 @@
 	if (h1s->flags & errflag)
 		goto end;
 
+	if (h1c->flags & H1C_F_IN_BUSY)
+		goto end;
+
 	do {
 		size_t used = htx_used_space(htx);