mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-28 06:11:32 +01:00
Stopping threads need a mask to figure who's still there without scanning everything in the poll loop. This means this will have to be per-group. And we also need to have a global stopping groups mask to know what groups were already signaled. This is used both to figure what thread is the first one to catch the event, and which one is the first one to detect the end of the last job. The logic isn't changed, though a loop is required in the slow path to make sure all threads are aware of the end. Note that for now the soft-stop still takes time for group IDs > 1 as the poller is not yet started on these threads and needs to expire its timeout as there's no way to wake it up. But all threads are eventually stopped.