Update beconn separately from the call to COUNTERS_UPDATE_MAX(), as soon
there will be an option to get COUNTERS_UPDATE_MAX() to do nothing, and
we still want beconn to be properly updated, as it is used for other
purposes.
int stream_set_backend(struct stream *s, struct proxy *be)
{
unsigned int req_ana;
+ unsigned int beconn;
if (s->flags & SF_BE_ASSIGNED)
return 1;
else
s->be_tgcounters = NULL;
- COUNTERS_UPDATE_MAX(&be->be_counters.conn_max,
- HA_ATOMIC_ADD_FETCH(&be->beconn, 1));
+ beconn = HA_ATOMIC_ADD_FETCH(&be->beconn, 1);
+ COUNTERS_UPDATE_MAX(&be->be_counters.conn_max, beconn);
proxy_inc_be_ctr(be);
/* assign new parameters to the stream from the new backend */