lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Mon, Apr 02, 2007 at 09:49:56PM +0300, Asko Kauppi wrote:
> Lua uses NSLINKMODULE_OPTION_PRIVATE flag on OS X for its "require",  
> but this causes globals in a module required in two separate Lua  
> states NOT to have common globals. I faced this today, and the only  
> solution found was removing that flag from loadlib.c.

As a quick fix, have you tried using dlopen() instead? It is recommended
on OS X (by Apple, see http://lua-users.org/wiki/BuildingLua).

Still, I'm a little surprised that the bundle was loaded twice.

Could this be a bug? Isn't package supposed to load the bundle/so/dll
only the first time the module is required, and the other times to use
the previously opened shared library handle, find the luaopen_XX symbol
using that handle, and call it again in the new state?

The package module definitely keeps the load handle around, I don't see
why it shouldn't use it!

Sam