BUG/MEDIUM: connections: Don't forget to remove CO_FL_SESS_IDLE.
If we're adding a connection to the server orphan idle list, don't forget
to remove the CO_FL_SESS_IDLE flag, or we will assume later it's still
attached to a session.
This should be backported to 1.9.
diff --git a/include/proto/session.h b/include/proto/session.h
index 0b7d08d..f1e33fa 100644
--- a/include/proto/session.h
+++ b/include/proto/session.h
@@ -128,7 +128,8 @@
/* The server doesn't want it, let's kill the connection right away */
conn->mux->destroy(conn);
return -1;
- }
+ } else
+ conn->flags &= ~CO_FL_SESS_IDLE;
return 1;
} else {
conn->flags |= CO_FL_SESS_IDLE;
diff --git a/src/session.c b/src/session.c
index 9e95b32..2732dbc 100644
--- a/src/session.c
+++ b/src/session.c
@@ -87,6 +87,7 @@
LIST_DEL(&conn->session_list);
LIST_INIT(&conn->session_list);
conn->owner = NULL;
+ conn->flags &= ~CO_FL_SESS_IDLE;
if (!srv_add_to_idle_list(objt_server(conn->target), conn))
conn->mux->destroy(conn);
} else {