lua

A copy of the Lua development repository
Log | Files | Refs | README

commit 6e1aec7a677a9891f2f8ca57e039d9984fdc69bc
parent 6055a039b57b405adc268672caeb682ef2a551ee
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date:   Thu, 17 Oct 2019 13:08:50 -0300

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.

Diffstat:
Mlstate.c | 2+-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 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;