BUG/MEDIUM: servers: Don't add an incomplete conn to the server idle list.

If we failed to add the connection to the session, only try to add it back
to the server idle list if it has a mux, otherwise the connection is
incomplete and unusable.

This should be backported to 1.9.
This commit is contained in:
Olivier Houchard 2019-01-29 16:05:02 +01:00 committed by Willy Tarreau
parent 4dc85538ba
commit 26da323cb9

View File

@ -1356,7 +1356,7 @@ int connect_server(struct stream *s)
if (alloced_cs)
si_release_endpoint(&s->si[1]);
srv_conn->owner = NULL;
if (!srv_add_to_idle_list(objt_server(srv_conn->target), srv_conn))
if (srv_conn->mux && !srv_add_to_idle_list(objt_server(srv_conn->target), srv_conn))
/* The server doesn't want it, let's kill the connection right away */
srv_conn->mux->destroy(srv_conn);
srv_conn = NULL;