Код на c++ должен получать данные из другого процесса через filemapping, синхронизация через события.
Не могу понять почему quik закрывается после манипуляций со стейтом созданным через lua_newthread
Краш quik происходит после остановки lua-скрипта.
Подскажите, пожалуйста, где ошибка.
Не могу понять почему quik закрывается после манипуляций со стейтом созданным через lua_newthread
Код |
---|
static int sample(lua_State *L) { -- ... lua_State *NL = lua_newthread(L); tref = luaL_ref(L, LUA_REGISTRYINDEX); subscriberThread = std::thread([NL] { for (;;) { WaitForSingleObject(subscriberEventHandle, INFINITE); -- если закомментировать три строки ниже, то ошибки не будет lua_getglobal(NL, "message"); lua_pushstring(NL, "from thread"); lua_call(NL, 1, 0); ResetEvent(subscriberEventHandle); } luaL_unref(NL, LUA_REGISTRYINDEX, tref); tref = LUA_NOREF; }); NL = nullptr; return 0; } |
Подскажите, пожалуйста, где ошибка.