Refactor stash
As we recently discovered, Tarantool has a peculiarity - when calling stored procedures with `{language = "C"}` option, it disregards the shared object (`.so` / `.dylib`) already loaded by Lua and makes the second independent `dlopen`. As a result, Lua and C stored procedures can't share state, because even static variables point to different memory locations. As a workaround, this patch provides the API for hiding the state inside `lua_State`. Under the hood, the stash consumes a custom struct and leaks the wrapping box. Inside Lua, it's represented by a userdata, which the `access()` function provides access to.
Loading
Please register or sign in to comment