diff --git a/include/proto/connection.h b/include/proto/connection.h index fbb37904d..8ba4fc632 100644 --- a/include/proto/connection.h +++ b/include/proto/connection.h @@ -757,17 +757,17 @@ static inline const struct mux_ops *conn_find_best_mux(struct connection *conn, } /* finds the best mux for incoming connection , a proxy in and http mode - * , and installs it on the connection for direction (MUX_INBOUND/ - * MUX_OUTBOUND). Returns < 0 on error. + * , and installs it on the connection for upper context . Returns + * < 0 on error. */ -static inline int conn_install_best_mux(struct connection *conn, int mode, enum mux_dir dir) +static inline int conn_install_best_mux(struct connection *conn, int mode, void *ctx) { const struct mux_ops *mux_ops; mux_ops = conn_find_best_mux(conn, mode); if (!mux_ops) return -1; - return conn_install_mux(conn, mux_ops, dir); + return conn_install_mux(conn, mux_ops, ctx); } #endif /* _PROTO_CONNECTION_H */ diff --git a/src/session.c b/src/session.c index b0bf453ad..c68cec545 100644 --- a/src/session.c +++ b/src/session.c @@ -21,7 +21,6 @@ #include #include #include -#include #include #include #include @@ -407,7 +406,7 @@ static int conn_complete_session(struct connection *conn) goto fail; session_count_new(sess); - if (conn_install_mux(conn, &mux_pt_ops, NULL) < 0) + if (conn_install_best_mux(conn, sess->fe->mode == PR_MODE_HTTP, NULL) < 0) goto fail; /* the embryonic session's task is not needed anymore */