mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-04-01 22:48:25 +00:00
BUG/MINOR: connection: fix loop iter on connection takeover
The loop always missed one iteration due to the incrementation done on the for check. Move the incrementation on the loop last statement to fix this behaviour. This bug has a very limited impact, not at all visible to the user, but could be backported to 2.2.
This commit is contained in:
parent
1a3770cbc7
commit
5f1ded5629
@ -1154,7 +1154,8 @@ static struct connection *conn_backend_get(struct server *srv, int is_safe)
|
||||
if (stop >= global.nbthread)
|
||||
stop = 0;
|
||||
|
||||
for (i = stop; !found && (i = ((i + 1 == global.nbthread) ? 0 : i + 1)) != stop;) {
|
||||
i = stop;
|
||||
do {
|
||||
struct mt_list *elt1, elt2;
|
||||
|
||||
if (!srv->curr_idle_thr[i] || i == tid)
|
||||
@ -1183,7 +1184,7 @@ static struct connection *conn_backend_get(struct server *srv, int is_safe)
|
||||
}
|
||||
}
|
||||
HA_SPIN_UNLOCK(OTHER_LOCK, &idle_conns[i].takeover_lock);
|
||||
}
|
||||
} while (!found && (i = (i + 1 == global.nbthread) ? 0 : i + 1) != stop);
|
||||
|
||||
if (!found)
|
||||
conn = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user