summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-10-29 08:08:16 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-10-29 08:08:16 +0000
commit7c04db1d3cd29185ab7047527e4c7d4e44b75e08 (patch)
tree6c5d351eab06d9a153651f8e670faec009604fba /eval.c
parent6d25a97ca06276ca76dfe248ba76b7417e034657 (diff)
* eval.c (rb_thread_start_0): forget to free some memory chunks.
[ruby-core:03611] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 1f9d9375dd..a8df3ebd1b 100644
--- a/eval.c
+++ b/eval.c
@@ -11473,6 +11473,10 @@ rb_thread_start_0(fn, arg, th)
if (th == main_thread) ruby_stop(state);
rb_thread_remove(th);
+ if (saved_block) {
+ blk_free(saved_block);
+ }
+
if (state && status != THREAD_TO_KILL && !NIL_P(ruby_errinfo)) {
th->flags |= THREAD_RAISED;
if (state == TAG_FATAL) {