aboutsummaryrefslogtreecommitdiff
path: root/lstate.h
diff options
context:
space:
mode:
authorRoberto I <roberto@inf.puc-rio.br>2026-01-11 15:36:03 -0300
committerRoberto I <roberto@inf.puc-rio.br>2026-01-11 15:36:03 -0300
commit2a7cf4f319fc276f4554a8f6364e6b1ba4eb2ded (patch)
treea99a8361664b0adda83186f04e2e9c98afd86b44 /lstate.h
parent5cfc725a8b61a6f96c7324f60ac26739315095ba (diff)
downloadlua-2a7cf4f319fc276f4554a8f6364e6b1ba4eb2ded.tar.gz
lua-2a7cf4f319fc276f4554a8f6364e6b1ba4eb2ded.tar.bz2
lua-2a7cf4f319fc276f4554a8f6364e6b1ba4eb2ded.zip
More effort in avoiding errors in finalizersHEADmaster
Before calling a finalizer, Lua not only checks stack limits, but actually ensures that a minimum number of slots are already allocated for the call. (If it cannot ensure that, it postpones the finalizer.) That avoids finalizers not running due to memory errors that the programmer cannot control.
Diffstat (limited to 'lstate.h')
-rw-r--r--lstate.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/lstate.h b/lstate.h
index 20dc4d24..01387283 100644
--- a/lstate.h
+++ b/lstate.h
@@ -438,7 +438,7 @@ union GCUnion {
438LUAI_FUNC void luaE_setdebt (global_State *g, l_mem debt); 438LUAI_FUNC void luaE_setdebt (global_State *g, l_mem debt);
439LUAI_FUNC void luaE_freethread (lua_State *L, lua_State *L1); 439LUAI_FUNC void luaE_freethread (lua_State *L, lua_State *L1);
440LUAI_FUNC lu_mem luaE_threadsize (lua_State *L); 440LUAI_FUNC lu_mem luaE_threadsize (lua_State *L);
441LUAI_FUNC CallInfo *luaE_extendCI (lua_State *L); 441LUAI_FUNC CallInfo *luaE_extendCI (lua_State *L, int err);
442LUAI_FUNC void luaE_shrinkCI (lua_State *L); 442LUAI_FUNC void luaE_shrinkCI (lua_State *L);
443LUAI_FUNC void luaE_checkcstack (lua_State *L); 443LUAI_FUNC void luaE_checkcstack (lua_State *L);
444LUAI_FUNC void luaE_incCstack (lua_State *L); 444LUAI_FUNC void luaE_incCstack (lua_State *L);