Преглед на файлове

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;
 }