From 6e1aec7a677a9891f2f8ca57e039d9984fdc69bc Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Thu, 17 Oct 2019 13:09:17 -0300 Subject: [PATCH] Larger C-stack limits for new threads New threads were being created with very small C-stack limits. This is not a problem for coroutines, because 'lua_resume' sets a new limit, but not all threads are coroutines. --- lstate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lstate.c b/lstate.c index 1c33dcfc..4864a979 100644 --- a/lstate.c +++ b/lstate.c @@ -286,7 +286,6 @@ static void preinit_thread (lua_State *L, global_State *g) { L->stacksize = 0; L->twups = L; /* thread has no upvalues */ L->errorJmp = NULL; - L->nCcalls = CSTACKTHREAD; L->hook = NULL; L->hookmask = 0; L->basehookcount = 0; @@ -327,6 +326,7 @@ LUA_API lua_State *lua_newthread (lua_State *L) { setthvalue2s(L, L->top, L1); api_incr_top(L); preinit_thread(L1, g); + L1->nCcalls = getCcalls(L); L1->hookmask = L->hookmask; L1->basehookcount = L->basehookcount; L1->hook = L->hook;