MINOR: connection: move the cleanup of flag CO_FL_WAIT_ROOM

This flag is only used when reading using splicing for now, and is only
set when a pipe full condition is met, so we can simplify its reset
condition in conn_refresh_polling_flags so that it's cleared at the
same time as the other ones, only when the control layer is ready.

This flag could be used more, to mark that a buffer full condition was
met with any receive method in order to simplify polling management.
This should probably be revisited after 1.8.
This commit is contained in:
Willy Tarreau 2017-10-25 10:28:45 +02:00
parent 8de70bcb54
commit bc97cc4fd1

View File

@ -171,11 +171,10 @@ void conn_update_xprt_polling(struct connection *c);
*/
static inline void conn_refresh_polling_flags(struct connection *conn)
{
conn->flags &= ~CO_FL_WAIT_ROOM;
if (conn_ctrl_ready(conn)) {
unsigned int flags = conn->flags & ~(CO_FL_CURR_RD_ENA | CO_FL_CURR_WR_ENA);
unsigned int flags = conn->flags;
flags &= ~(CO_FL_CURR_RD_ENA | CO_FL_CURR_WR_ENA | CO_FL_WAIT_ROOM);
if (fd_recv_active(conn->handle.fd))
flags |= CO_FL_CURR_RD_ENA;
if (fd_send_active(conn->handle.fd))