BUG: backend: stop looking for queued connections once there's no more
authorWilly Tarreau <w@1wt.eu>
Thu, 24 Jun 2021 13:51:12 +0000 (15:51 +0200)
committerWilly Tarreau <w@1wt.eu>
Thu, 24 Jun 2021 13:56:07 +0000 (15:56 +0200)
commit19c5581b43eb07c3e413cf1be076bd0b2c2becc7
treefcc201aec1fbf5d943d0a80e49b63f106460cd08
parentd03adce575e352a5ef6ebf1dcd64bf636655d4d8
BUG: backend: stop looking for queued connections once there's no more

Commit ae0b12ee0 ("MEDIUM: queue: use a trylock on the server's queue")
introduced a hard to trigger bug that's more visible with a single thread:
if a server dequeues a connection and finds another free slot with no
connection to place there, process_srv_queue() will never break out of
the loop. In multi-thread it almost does not happen because other threads
bring new connections.

No backport is needed as it's only in -dev.
src/queue.c