BUG/MEDIUM: listener: make sure we don't pick stopped threads
authorWilly Tarreau <w@1wt.eu>
Wed, 13 Mar 2019 14:03:53 +0000 (15:03 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 13 Mar 2019 14:03:53 +0000 (15:03 +0100)
commit897e2c58e68aab6cc583b8d597d15fd065783592
tree603d9093518e6058b937566ef5c8d7efac8372b0
parentb0cef35b097c89ff675e055186e71239e105eb01
BUG/MEDIUM: listener: make sure we don't pick stopped threads

Dragan Dosen reported that after the multi-queue changes, appending
"process 1/even" on a bind line can make the process immediately crash
when delivering a first connection. This is due to the fact that I
believed that thread_mask(mask) applied the all_threads_mask value,
but it doesn't. And in case of even/odd the bits cover more than the
available threads, resulting in too high a thread number being selected
and a non-existing task to be woken up.

No backport is needed.
src/listener.c