From 1537d6680bb66dc2484e11815bc2cd0e31ca39cc Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Fri, 26 Feb 2021 11:41:02 -0300 Subject: New control for reentrancy of emergency collections Instead of assuming that shrinking a block may be an emergency collection, use an explicit field ('gcstopem') to stop emergency collections while GC is working. --- lstate.c | 1 + 1 file changed, 1 insertion(+) (limited to 'lstate.c') diff --git a/lstate.c b/lstate.c index 04909db3..c5e3b437 100644 --- a/lstate.c +++ b/lstate.c @@ -379,6 +379,7 @@ LUA_API lua_State *lua_newstate (lua_Alloc f, void *ud) { g->panic = NULL; g->gcstate = GCSpause; g->gckind = KGC_INC; + g->gcstopem = 0; g->gcemergency = 0; g->finobj = g->tobefnz = g->fixedgc = NULL; g->firstold1 = g->survival = g->old1 = g->reallyold = NULL; -- cgit v1.2.3-55-g6feb