Just ran across an issue where the `timeout queue` option is non-functional. I can send a request to haproxy which sits in the queue for well past the configured limit.
It appears the issue popped up as a result of this commit: commit f6e6dc12cd533b2d8bb6413a4b5f875ddfd3e6e3 (refs/bisect/bad) Author: Olivier Houchard <[email protected]> Date: Fri May 18 18:38:23 2018 +0200 MAJOR: tasks: Create a per-thread runqueue. A lot of tasks are run on one thread only, so instead of having them all in the global runqueue, create a per-thread runqueue which doesn't require any locking, and add all tasks belonging to only one thread to the corresponding runqueue. The global runqueue is still used for non-local tasks, and is visited by each thread when checking its own runqueue. The nice parameter is thus used both in the global runqueue and in the local ones. The rare tasks that are bound to multiple threads will have their nice value used twice (once for the global queue, once for the thread-local one). Reproduced with TARGET=osx Compiler clang-900.0.39.2 -Patrick

