summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lgc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lgc.c b/lgc.c
index 7ee19881..9e77f9b3 100644
--- a/lgc.c
+++ b/lgc.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lgc.c,v 2.140.1.1 2013/04/12 18:48:47 roberto Exp roberto $ 2** $Id: lgc.c,v 2.140.1.2 2013/04/26 18:22:05 roberto Exp roberto $
3** Garbage Collector 3** Garbage Collector
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -403,7 +403,7 @@ static int traverseephemeron (global_State *g, Table *h) {
403 reallymarkobject(g, gcvalue(gval(n))); /* mark it now */ 403 reallymarkobject(g, gcvalue(gval(n))); /* mark it now */
404 } 404 }
405 } 405 }
406 if (prop) 406 if (g->gcstate != GCSatomic || prop)
407 linktable(h, &g->ephemeron); /* have to propagate again */ 407 linktable(h, &g->ephemeron); /* have to propagate again */
408 else if (hasclears) /* does table have white keys? */ 408 else if (hasclears) /* does table have white keys? */
409 linktable(h, &g->allweak); /* may have to clean white keys */ 409 linktable(h, &g->allweak); /* may have to clean white keys */