mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-04 12:41:00 +02: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…
x
Reference in New Issue
Block a user