#define SF_FORCE_PRST 0x00000010 /* force persistence here, even if server is down */
#define SF_MONITOR 0x00000020 /* this stream comes from a monitoring system */
-#define SF_CURR_SESS 0x00000040 /* a connection is currently being counted on the server */
+/* 0x00000040 unused */
#define SF_CONN_EXP 0x00000080 /* timeout has expired */
#define SF_REDISP 0x00000100 /* set if this stream was redispatched from one server to another */
#define SF_IGNORE 0x00000200 /* The stream lead to a mux upgrade, and should be ignored */
_e(SF_ERR_MASK, SF_ERR_UP, _e(SF_ERR_MASK, SF_ERR_CHK_PORT))))))))))));
_(SF_DIRECT, _(SF_ASSIGNED, _(SF_MAYALLOC, _(SF_BE_ASSIGNED, _(SF_FORCE_PRST,
- _(SF_MONITOR, _(SF_CURR_SESS, _(SF_CONN_EXP, _(SF_REDISP,
- _(SF_IGNORE, _(SF_REDIRECTABLE, _(SF_HTX))))))))))));
+ _(SF_MONITOR, _(SF_CONN_EXP, _(SF_REDISP,
+ _(SF_IGNORE, _(SF_REDIRECTABLE, _(SF_HTX)))))))))));
/* epilogue */
_(~0U);
s->conn_exp = tick_add_ifset(now_ms, s->connect_timeout);
if (srv) {
- s->flags |= SF_CURR_SESS;
if (s->be->lbprm.server_take_conn)
s->be->lbprm.server_take_conn(srv);
}
health_adjust(__objt_server(s->target), HANA_STATUS_L4_ERR);
- if (s->flags & SF_CURR_SESS)
- s->flags &= ~SF_CURR_SESS;
-
if ((sc->flags & SC_FL_ERROR) &&
conn && conn->err_code == CO_ER_SSL_MISMATCH_SNI) {
/* We tried to connect to a server which is configured
stream_del_srv_conn(s);
if (objt_server(s->target)) {
- if (s->flags & SF_CURR_SESS) {
- s->flags &= ~SF_CURR_SESS;
- }
if (may_dequeue_tasks(__objt_server(s->target), be))
process_srv_queue(__objt_server(s->target));
}
s->res.to_forward = 0;
s->pcli_flags &= ~PCLI_F_BIDIR;
s->flags &= ~(SF_DIRECT|SF_ASSIGNED|SF_BE_ASSIGNED|SF_FORCE_PRST|SF_IGNORE_PRST);
- s->flags &= ~(SF_CURR_SESS|SF_REDIRECTABLE|SF_SRV_REUSED);
+ s->flags &= ~(SF_REDIRECTABLE|SF_SRV_REUSED);
s->flags &= ~(SF_ERR_MASK|SF_FINST_MASK|SF_REDISP);
s->conn_retries = 0; /* used for logging too */
s->conn_exp = TICK_ETERNITY;
return -1;
s->conn_retries++;
if (objt_server(s->target)) {
- if (s->flags & SF_CURR_SESS)
- s->flags &= ~SF_CURR_SESS;
-
if (s->sv_tgcounters)
_HA_ATOMIC_INC(&s->sv_tgcounters->retries);
}
pendconn_free(s);
if (objt_server(s->target)) { /* there may be requests left pending in queue */
- if (s->flags & SF_CURR_SESS)
- s->flags &= ~SF_CURR_SESS;
-
if (may_dequeue_tasks(__objt_server(s->target), s->be))
process_srv_queue(__objt_server(s->target));
}
scb->state = SC_ST_CLO;
srv = objt_server(s->target);
if (srv) {
- if (s->flags & SF_CURR_SESS)
- s->flags &= ~SF_CURR_SESS;
-
/*
* We don't want to release the slot just yet
* if we're using strict-maxconn, we want to
stream->flags |= why;
if (objt_server(stream->target)) {
- if (stream->flags & SF_CURR_SESS)
- stream->flags &= ~SF_CURR_SESS;
-
sess_change_server(stream, NULL);
if (may_dequeue_tasks(objt_server(stream->target), stream->be))
process_srv_queue(objt_server(stream->target));