aboutsummaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-09-27 12:25:21 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-09-27 12:25:21 +0000
commit6f42276d057e947c1c675da089512383adc85e52 (patch)
tree476be4ec5180d6e0d6719f4c77a392ef785dbfef /eval.c
parent2352c318ca7e5e4d049ffc640bf49ddf3344f9a1 (diff)
downloadruby-6f42276d057e947c1c675da089512383adc85e52.tar.gz
* eval.c (rb_call0): invoke finalizers periodically.
* gc.c (gc_sweep): defer running finalizers. * gc.c (rb_gc_finalize_deferred): run deferred finalizers. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index d2b28a8f44..b074ecb0c7 100644
--- a/eval.c
+++ b/eval.c
@@ -5466,6 +5466,7 @@ rb_call0(klass, recv, id, oid, argc, argv, body, nosuper)
if ((++tick & 0xff) == 0) {
CHECK_INTS; /* better than nothing */
stack_check();
+ rb_gc_finalize_deferred();
}
PUSH_ITER(itr);
PUSH_FRAME();