kumquat-buildroot/package/lua/5.2.3/0012-fix-ephemeron-table.patch

20 lines
629 B
Diff
Raw Normal View History

Ephemeron table can wrongly collect entry with strong key.
Fetch from: http://www.lua.org/bugs.html#5.2.3-2
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Index: b/src/lgc.c
===================================================================
--- a/src/lgc.c
+++ b/src/lgc.c
@@ -403,7 +403,7 @@
reallymarkobject(g, gcvalue(gval(n))); /* mark it now */
}
}
- if (prop)
+ if (g->gcstate != GCSatomic || prop)
linktable(h, &g->ephemeron); /* have to propagate again */
else if (hasclears) /* does table have white keys? */
linktable(h, &g->allweak); /* may have to clean white keys */