summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-08-19 11:38:11 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-08-19 11:38:11 +0900
commit2294ebdd44aa28d97d82a3695f56e80f6014e685 (patch)
treebe36fc76e65dd8a567c682ff77e1e44bc7c33fe4 /src
parent9146d5c34fa58a9680c1d8b85e34244b3608887b (diff)
downloadmruby-2294ebdd44aa28d97d82a3695f56e80f6014e685.tar.gz
mruby-2294ebdd44aa28d97d82a3695f56e80f6014e685.zip
Call `mrb_full_gc` before `gc_each_objects`; ref #3782
Otherwise dead object may be seen from `#each_object`.
Diffstat (limited to 'src')
-rw-r--r--src/gc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gc.c b/src/gc.c
index 56d316b0d..dd63395bd 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -1483,6 +1483,7 @@ gc_each_objects(mrb_state *mrb, mrb_gc *gc, mrb_each_object_callback *callback,
{
mrb_heap_page* page;
+ mrb_full_gc(mrb);
page = gc->heaps;
while (page != NULL) {
RVALUE *p;