The LUA embedding deliberately chose to use a global
interpreter so that the LUA environment is persistent.
The goal is/was to be able to send messages between
various embedded LUA scriptlets to coordinate
complex multi-stage installations.
Meanwhile there's nothing stopping adding a flag
to create an isolated server instance. In fact all
embedded interpreters in RPM can be instantiated
either once globally persistently, or as a single instance.
Note that various embeddings -- python/ruby -- can only
be invoked once globally. But lua/tcl/perl embeddings
can be either globally persistent or lightweight and isolated,
depending on a flag passed when the interpreter is instantiated.
The LUA embedding deliberately chose to use a global
interpreter so that the LUA environment is persistent.
The goal is/was to be able to send messages between
various embedded LUA scriptlets to coordinate
complex multi-stage installations.
Meanwhile there's nothing stopping adding a flag
to create an isolated server instance. In fact all
embedded interpreters in RPM can be instantiated
either once globally persistently, or as a single instance.
Note that various embeddings -- python/ruby -- can only
be invoked once globally. But lua/tcl/perl embeddings
can be either globally persistent or lightweight and isolated,
depending on a flag passed when the interpreter is instantiated.