diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-04-11 16:00:27 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-04-11 16:00:27 -0300 |
| commit | 0c8a7e071b00a1ea9822101f3b9fe4392d05c3c6 (patch) | |
| tree | 84020c63180b516c048fb56350f5097924a2aa5c /lstate.c | |
| parent | a3d36fe283c09d4e56474da98f22d13162cc9fec (diff) | |
| download | lua-0c8a7e071b00a1ea9822101f3b9fe4392d05c3c6.tar.gz lua-0c8a7e071b00a1ea9822101f3b9fe4392d05c3c6.tar.bz2 lua-0c8a7e071b00a1ea9822101f3b9fe4392d05c3c6.zip | |
'mainthread' lives in 'allgc' list, like everybody else
Diffstat (limited to 'lstate.c')
| -rw-r--r-- | lstate.c | 7 |
1 files changed, 4 insertions, 3 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lstate.c,v 2.134 2017/02/23 21:07:34 roberto Exp roberto $ | 2 | ** $Id: lstate.c,v 2.135 2017/04/05 16:50:51 roberto Exp $ |
| 3 | ** Global State | 3 | ** Global State |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -300,11 +300,12 @@ LUA_API lua_State *lua_newstate (lua_Alloc f, void *ud) { | |||
| 300 | if (l == NULL) return NULL; | 300 | if (l == NULL) return NULL; |
| 301 | L = &l->l.l; | 301 | L = &l->l.l; |
| 302 | g = &l->g; | 302 | g = &l->g; |
| 303 | L->next = NULL; | ||
| 304 | L->tt = LUA_TTHREAD; | 303 | L->tt = LUA_TTHREAD; |
| 305 | g->currentwhite = bitmask(WHITE0BIT); | 304 | g->currentwhite = bitmask(WHITE0BIT); |
| 306 | L->marked = luaC_white(g); | 305 | L->marked = luaC_white(g); |
| 307 | preinit_thread(L, g); | 306 | preinit_thread(L, g); |
| 307 | g->allgc = obj2gco(L); /* by now, only object is the main thread */ | ||
| 308 | L->next = NULL; | ||
| 308 | g->frealloc = f; | 309 | g->frealloc = f; |
| 309 | g->ud = ud; | 310 | g->ud = ud; |
| 310 | g->mainthread = L; | 311 | g->mainthread = L; |
| @@ -318,7 +319,7 @@ LUA_API lua_State *lua_newstate (lua_Alloc f, void *ud) { | |||
| 318 | g->version = NULL; | 319 | g->version = NULL; |
| 319 | g->gcstate = GCSpause; | 320 | g->gcstate = GCSpause; |
| 320 | g->gckind = KGC_NORMAL; | 321 | g->gckind = KGC_NORMAL; |
| 321 | g->allgc = g->finobj = g->tobefnz = g->fixedgc = NULL; | 322 | g->finobj = g->tobefnz = g->fixedgc = NULL; |
| 322 | g->survival = g->old = g->reallyold = NULL; | 323 | g->survival = g->old = g->reallyold = NULL; |
| 323 | g->finobjsur = g->finobjold = g->finobjrold = NULL; | 324 | g->finobjsur = g->finobjold = g->finobjrold = NULL; |
| 324 | g->sweepgc = NULL; | 325 | g->sweepgc = NULL; |
