diff options
| author | Mike Pall <mike> | 2025-11-10 18:18:19 +0100 |
|---|---|---|
| committer | Mike Pall <mike> | 2025-11-10 18:18:19 +0100 |
| commit | eba91fceb67a0a0163a9222869bf254c988c48c4 (patch) | |
| tree | 1373ee93d0ed000ae147e3483d0bdac7a76f08df | |
| parent | 5c647754a687a910ef40a097fbf8f7415561c8aa (diff) | |
| parent | c94312d348e3530b369b4e517fce4c65df6cd270 (diff) | |
| download | luajit-eba91fceb67a0a0163a9222869bf254c988c48c4.tar.gz luajit-eba91fceb67a0a0163a9222869bf254c988c48c4.tar.bz2 luajit-eba91fceb67a0a0163a9222869bf254c988c48c4.zip | |
Merge branch 'master' into v2.1
| -rw-r--r-- | src/lj_state.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lj_state.c b/src/lj_state.c index 9d4fdcee..68e78faa 100644 --- a/src/lj_state.c +++ b/src/lj_state.c | |||
| @@ -377,6 +377,10 @@ void LJ_FASTCALL lj_state_free(global_State *g, lua_State *L) | |||
| 377 | lj_assertG(L != mainthread(g), "free of main thread"); | 377 | lj_assertG(L != mainthread(g), "free of main thread"); |
| 378 | if (obj2gco(L) == gcref(g->cur_L)) | 378 | if (obj2gco(L) == gcref(g->cur_L)) |
| 379 | setgcrefnull(g->cur_L); | 379 | setgcrefnull(g->cur_L); |
| 380 | #if LJ_HASFFI | ||
| 381 | if (ctype_ctsG(g) && ctype_ctsG(g)->L == L) /* Avoid dangling cts->L. */ | ||
| 382 | ctype_ctsG(g)->L = mainthread(g); | ||
| 383 | #endif | ||
| 380 | if (gcref(L->openupval) != NULL) { | 384 | if (gcref(L->openupval) != NULL) { |
| 381 | lj_func_closeuv(L, tvref(L->stack)); | 385 | lj_func_closeuv(L, tvref(L->stack)); |
| 382 | lj_trace_abort(g); /* For aa_uref soundness. */ | 386 | lj_trace_abort(g); /* For aa_uref soundness. */ |
