MINOR: connection: move the CO_FL_WAIT_ROOM cleanup to the reader only

CO_FL_WAIT_ROOM is set by the splicing function in raw_sock, and cleared
by the stream-int when splicing is disabled, as well as in
conn_refresh_polling_flags() so that a new call to ->rcv_pipe() could
be attempted by the I/O callbacks called from conn_fd_handler(). This
clearing in conn_refresh_polling_flags() makes no sense anymore and is
in no way related to the polling at all.

Since we don't call them from there anymore it's better to clear it
before attempting to receive, and to set it again later. So let's move
this operation where it should be, in raw_sock_to_pipe() so that it's
now symmetric. It was also placed in raw_sock_to_buf() so that we're
certain that it gets cleared if an attempt to splice is replaced with
a subsequent attempt to recv(). And these were currently already achieved
by the call to conn_refresh_polling_flags(). Now it could theorically be
removed from the stream-int.

(cherry picked from commit e2a0eeca778115adc2e6dd7c89bb36181f349ca1)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>

[Cf: This patch is mandatory in the 2.1 to remove the flag CO_FL_WAIT_ROOM
     because it is not removed after a successfull send.]

(cherry picked from commit 812e6d04d98ee25d4794241064ecdde5179f0b3c)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
diff --git a/include/proto/connection.h b/include/proto/connection.h
index 02f3234..fcdbd37 100644
--- a/include/proto/connection.h
+++ b/include/proto/connection.h
@@ -178,7 +178,7 @@
 	if (conn_ctrl_ready(conn) && !(conn->flags & CO_FL_WILL_UPDATE)) {
 		unsigned int flags = conn->flags;
 
-		flags &= ~(CO_FL_CURR_RD_ENA | CO_FL_CURR_WR_ENA | CO_FL_WAIT_ROOM);
+		flags &= ~(CO_FL_CURR_RD_ENA | CO_FL_CURR_WR_ENA);
 		if (fd_recv_active(conn->handle.fd))
 			flags |= CO_FL_CURR_RD_ENA;
 		if (fd_send_active(conn->handle.fd))
diff --git a/src/raw_sock.c b/src/raw_sock.c
index cc99669..48da6fa 100644
--- a/src/raw_sock.c
+++ b/src/raw_sock.c
@@ -72,6 +72,7 @@
 	if (!fd_recv_ready(conn->handle.fd))
 		return 0;
 
+	conn->flags &= ~CO_FL_WAIT_ROOM;
 	conn_refresh_polling_flags(conn);
 	errno = 0;
 
@@ -237,6 +238,7 @@
 	if (!fd_recv_ready(conn->handle.fd))
 		return 0;
 
+	conn->flags &= ~CO_FL_WAIT_ROOM;
 	conn_refresh_polling_flags(conn);
 	errno = 0;