Save currently executing lua_State in g->cur_L.

This is only a good approximation due to deficiencies in the design of
the Lua/C API. It indicates _some_ valid state that is/was executing.
Also reorder L->cframe stores to achieve a synchronously consistent state.
This commit is contained in:
Mike Pall
2013-08-28 13:06:19 +02:00
parent 5120240b77
commit 517500ba48
15 changed files with 89 additions and 67 deletions

View File

@@ -357,6 +357,7 @@ static void callhook(lua_State *L, int event, BCLine line)
hook_enter(g);
hookf(L, &ar);
lua_assert(hook_active(g));
setgcref(g->cur_L, obj2gco(L));
hook_leave(g);
}
}