mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-09 13:01:00 +01:00
The goal is to allow execution of one main lua state per thread. This patch contains the main job. The lua init is done using these steps: - "lua-load-per-thread" loads the lua code in the first thread - it creates the structs - it stores loaded files - the 1st step load is completed (execution of hlua_post_init) and now, we known the number of threads - we initilize lua states for all remaining threads - for each one, we load the lua file - for each one, we execute post-init Once all is loaded, we control consistency of functions references. The rules are: - a function reference cannot be in the shared lua state and in a per-thread lua state at the same time. - if a function reference is declared in a per-thread lua state, it must be declared in all per-thread lua states