瀏覽代碼

FFI: Treat cdata finalizer table as a GC root.

Thanks to Sergey Bronnikov. #1168
Mike Pall 1 年之前
父節點
當前提交
dda1ac273a
共有 1 個文件被更改,包括 3 次插入0 次删除
  1. 3 0
      src/lj_gc.c

+ 3 - 0
src/lj_gc.c

@@ -93,6 +93,9 @@ static void gc_mark_start(global_State *g)
   gc_markobj(g, tabref(mainthread(g)->env));
   gc_marktv(g, &g->registrytv);
   gc_mark_gcroot(g);
+#if LJ_HASFFI
+  if (ctype_ctsG(g)) gc_markobj(g, ctype_ctsG(g)->finalizer);
+#endif
   g->gc.state = GCSpropagate;
 }