aboutsummaryrefslogtreecommitdiff
path: root/lstate.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lstate.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/lstate.c b/lstate.c
index e369683e..d4b4def8 100644
--- a/lstate.c
+++ b/lstate.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lstate.c,v 2.153 2018/06/01 17:40:38 roberto Exp roberto $ 2** $Id: lstate.c,v 2.154 2018/06/15 19:31:22 roberto Exp roberto $
3** Global State 3** Global State
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -215,7 +215,7 @@ static void init_registry (lua_State *L, global_State *g) {
215 215
216/* 216/*
217** open parts of the state that may cause memory-allocation errors. 217** open parts of the state that may cause memory-allocation errors.
218** ('g->version' != NULL flags that the state was completely build) 218** ('ttisnil(&g->nilvalue)'' flags that the state was completely build)
219*/ 219*/
220static void f_luaopen (lua_State *L, void *ud) { 220static void f_luaopen (lua_State *L, void *ud) {
221 global_State *g = G(L); 221 global_State *g = G(L);
@@ -226,7 +226,7 @@ static void f_luaopen (lua_State *L, void *ud) {
226 luaT_init(L); 226 luaT_init(L);
227 luaX_init(L); 227 luaX_init(L);
228 g->gcrunning = 1; /* allow gc */ 228 g->gcrunning = 1; /* allow gc */
229 g->version = lua_version(NULL); 229 setnilvalue(&g->nilvalue);
230 luai_userstateopen(L); 230 luai_userstateopen(L);
231} 231}
232 232
@@ -260,7 +260,7 @@ static void close_state (lua_State *L) {
260 global_State *g = G(L); 260 global_State *g = G(L);
261 luaF_close(L, L->stack); /* close all upvalues for this thread */ 261 luaF_close(L, L->stack); /* close all upvalues for this thread */
262 luaC_freeallobjects(L); /* collect all objects */ 262 luaC_freeallobjects(L); /* collect all objects */
263 if (g->version) /* closing a fully built state? */ 263 if (ttisnil(&g->nilvalue)) /* closing a fully built state? */
264 luai_userstateclose(L); 264 luai_userstateclose(L);
265 luaM_freearray(L, G(L)->strt.hash, G(L)->strt.size); 265 luaM_freearray(L, G(L)->strt.hash, G(L)->strt.size);
266 freestack(L); 266 freestack(L);
@@ -332,7 +332,6 @@ LUA_API lua_State *lua_newstate (lua_Alloc f, void *ud) {
332 g->strt.hash = NULL; 332 g->strt.hash = NULL;
333 setnilvalue(&g->l_registry); 333 setnilvalue(&g->l_registry);
334 g->panic = NULL; 334 g->panic = NULL;
335 g->version = NULL;
336 g->gcstate = GCSpause; 335 g->gcstate = GCSpause;
337 g->gckind = KGC_INC; 336 g->gckind = KGC_INC;
338 g->gcemergency = 0; 337 g->gcemergency = 0;
@@ -345,7 +344,7 @@ LUA_API lua_State *lua_newstate (lua_Alloc f, void *ud) {
345 g->twups = NULL; 344 g->twups = NULL;
346 g->totalbytes = sizeof(LG); 345 g->totalbytes = sizeof(LG);
347 g->GCdebt = 0; 346 g->GCdebt = 0;
348 setnilvalue(&g->nilvalue); 347 setivalue(&g->nilvalue, 0); /* to signal that state is not yet built */
349 setgcparam(g->gcpause, LUAI_GCPAUSE); 348 setgcparam(g->gcpause, LUAI_GCPAUSE);
350 setgcparam(g->gcstepmul, LUAI_GCMUL); 349 setgcparam(g->gcstepmul, LUAI_GCMUL);
351 g->gcstepsize = LUAI_GCSTEPSIZE; 350 g->gcstepsize = LUAI_GCSTEPSIZE;