summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-04-24 12:52:57 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-04-24 13:02:01 +0900
commitf1a52d96a59c63d46cb23af60cdcaf38e30e0512 (patch)
treecb0492f778489449a04534df6fac82823cb25b5b /gc.c
parent2ef66737081ec029f9c82e11671de36bb70a9e3b (diff)
Defer setting gc_stress until inits done
[Bug #15784]
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gc.c b/gc.c
index 8f59f1923d..a12854d636 100644
--- a/gc.c
+++ b/gc.c
@@ -2571,6 +2571,8 @@ Init_heap(void)
objspace->id_to_obj_tbl = st_init_numtable();
objspace->obj_to_id_tbl = st_init_numtable();
+ dont_gc = 1;
+
gc_stress_set(objspace, ruby_initial_gc_stress);
#if RGENGC_ESTIMATE_OLDMALLOC
@@ -2584,6 +2586,14 @@ Init_heap(void)
finalizer_table = st_init_numtable();
}
+void
+Init_gc_stress(void)
+{
+ rb_objspace_t *objspace = &rb_objspace;
+
+ dont_gc = 0;
+}
+
typedef int each_obj_callback(void *, void *, size_t, void *);
struct each_obj_args {