commit ddf1f2a0530dc299fe4997c51b86db9710a94408
parent e34d3c06b069e36189c334d8bfbcf5c978e994c5
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Mon, 24 May 2010 16:29:22 -0300
GC should not run when stopped, even in hard tests
Diffstat:
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/llimits.h b/llimits.h
@@ -1,5 +1,5 @@
/*
-** $Id: llimits.h,v 1.79 2010/04/29 17:31:31 roberto Exp roberto $
+** $Id: llimits.h,v 1.80 2010/05/07 18:44:12 roberto Exp roberto $
** Limits, basic types, and some other `installation-dependent' definitions
** See Copyright Notice in lua.h
*/
@@ -179,7 +179,8 @@ typedef lu_int32 Instruction;
#if !defined(HARDMEMTESTS)
#define condchangemem(L) condmovestack(L)
#else
-#define condchangemem(L) luaC_fullgc(L, 0)
+#define condchangemem(L) \
+ ((void)(gcstopped(G(L)) || (luaC_fullgc(L, 0), 1)))
#endif
#endif