Explorar o código

FFI: Don't propagate cdata objects.

Mike Pall %!s(int64=15) %!d(string=hai) anos
pai
achega
35890f66c1
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      src/lj_gc.c

+ 1 - 1
src/lj_gc.c

@@ -65,7 +65,7 @@ static void gc_mark(global_State *g, GCobj *o)
     gc_marktv(g, uvval(uv));
     if (uv->closed)
       gray2black(o);  /* Closed upvalues are never gray. */
-  } else if (o->gch.gct != ~LJ_TSTR) {
+  } else if (o->gch.gct != ~LJ_TSTR && o->gch.gct != ~LJ_TCDATA) {
     lua_assert(o->gch.gct == ~LJ_TFUNC || o->gch.gct == ~LJ_TTAB ||
 	       o->gch.gct == ~LJ_TTHREAD || o->gch.gct == ~LJ_TPROTO);
     setgcrefr(o->gch.gclist, g->gc.gray);