MEDIUM: backend: add new conn to session if mux marked as HOL blocking

When allocating a new session on connect_server, if the mux protocol is
marked as subject of HOL blocking, add it into session instead of
available list to avoid sharing it with other clients.
diff --git a/src/backend.c b/src/backend.c
index bd841c2..48cc7a6 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -1540,13 +1540,16 @@
 		/* If we're doing http-reuse always, and the connection is not
 		 * private with available streams (an http2 connection), add it
 		 * to the available list, so that others can use it right
-		 * away. If the connection is private, add it in the session
-		 * server list.
+		 * away. If the connection is private or we're doing http-reuse
+		 * safe and the mux protocol supports multiplexing, add it in
+		 * the session server list.
 		 */
 		if (srv && ((s->be->options & PR_O_REUSE_MASK) == PR_O_REUSE_ALWS) &&
 		    !(srv_conn->flags & CO_FL_PRIVATE) && srv_conn->mux->avail_streams(srv_conn) > 0)
 			LIST_ADDQ(&srv->available_conns[tid], mt_list_to_list(&srv_conn->list));
-		else if (srv_conn->flags & CO_FL_PRIVATE) {
+		else if (srv_conn->flags & CO_FL_PRIVATE ||
+		         ((s->be->options & PR_O_REUSE_MASK) == PR_O_REUSE_SAFE &&
+		          srv_conn->mux->flags & MX_FL_HOL_RISK)) {
 			/* If it fail now, the same will be done in mux->detach() callback */
 			session_add_conn(srv_conn->owner, srv_conn, srv_conn->target);
 		}