mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-04-19 04:32:57 +02:00
Till now, threads were all started one at a time from thread 1. This will soon cause us limitations once we want to reduce shared stuff between thread groups. Let's slightly change the startup sequence so that the first thread starts one initial thread for each group, and that each of these threads then starts all other threads from their group before switching to the final task. Since it requires an intermediary step, we need to store that threads' start function to access it from the group, so it was put into the tgroup_info which still has plenty of room available. It could also theoretically speed up the boot sequence, though in practice it doesn't change anything because each thead's initialization is made one at a time to avoid races during the early boot. However ther is now a function in charge of starting all extra threads of a group, and whih is called from this group.