summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-08-08 22:08:12 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2013-08-08 22:08:12 +0900
commit30f86069de104d940401d462c52689b03863932a (patch)
treecf60b0edcf90e6b811a5ce87143cf493d9c50d9c
parent1e87bf6d2f5a03413ef0c9322e6a7f42d89c443f (diff)
downloadmruby-30f86069de104d940401d462c52689b03863932a.tar.gz
mruby-30f86069de104d940401d462c52689b03863932a.zip
finish half-baked GC cycle before starting full GC; #1447
-rw-r--r--src/gc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gc.c b/src/gc.c
index 9ecb0615d..9ce2615b2 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -1003,8 +1003,8 @@ mrb_full_gc(mrb_state *mrb)
GC_INVOKE_TIME_REPORT("mrb_full_gc()");
GC_TIME_START;
- if (mrb->gc_state == GC_STATE_SWEEP) {
- /* finish sweep phase */
+ if (mrb->gc_state != GC_STATE_NONE) {
+ /* finish half baked GC cycle */
incremental_gc_until(mrb, GC_STATE_NONE);
}