kumquat-buildroot/package/lua/5.2.3/0012-fix-ephemeron-table.patch
Francois Perrad 6aa156fa1f lua: add a upstream patch
[Thomas: fix minor typo in commit title.]

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-01-10 11:39:53 +01:00

20 lines
629 B
Diff

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 */