summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-10-29 07:59:42 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-10-29 07:59:42 +0000
commitc579593b413ce455b4a1f8ee17005d7a5038102f (patch)
tree33e68bbb04522f237153a0af10174501c20d9364 /eval.c
parented4de45783e11a2f852e58a074e860720ae471d1 (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/branches/ruby_1_8@7134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/eval.c b/eval.c
index 530662fdc2..9bf2410ddc 100644
--- a/eval.c
+++ b/eval.c
@@ -11385,13 +11385,8 @@ rb_thread_start_0(fn, arg, th)
if (th == main_thread) ruby_stop(state);
rb_thread_remove(th);
- for (block = saved_block; block;) {
- struct BLOCK *tmp = block;
-
- if (tmp->frame.argc > 0)
- free(tmp->frame.argv);
- block = tmp->prev;
- free((void*)tmp);
+ if (saved_block) {
+ blk_free(saved_block);
}
if (state && status != THREAD_TO_KILL && !NIL_P(ruby_errinfo)) {