BUG/MEDIUM: connections: Don't attempt to reuse an unusable connection.

Before trying to add a connection to the idle list, make sure it doesn't
have the error, the shutr or the shutw flag. If any of them is present,
don't bother trying to recycle the connection, it's going to be destroyed
anyway.
This commit is contained in:
Olivier Houchard 2018-12-13 18:01:00 +01:00 committed by Willy Tarreau
parent a0883e6cd4
commit a70e176843
1 changed files with 2 additions and 1 deletions

View File

@ -3484,7 +3484,8 @@ void http_end_txn_clean_session(struct stream *s)
* We then can call si_release_endpoint() to destroy the conn_stream
*/
if (((s->txn->flags & TX_CON_WANT_MSK) != TX_CON_WANT_KAL) ||
!si_conn_ready(&s->si[1]))
!si_conn_ready(&s->si[1]) ||
(srv_conn && srv_conn->flags & (CO_FL_ERROR | CO_FL_SOCK_RD_SH | CO_FL_SOCK_WR_SH)))
srv_conn = NULL;
else if (!srv_conn->owner) {
srv_conn->owner = s->sess;