From cbbc06dcf78ab65c60261805504d5a1adda9462c Mon Sep 17 00:00:00 2001 From: mame Date: Thu, 5 Jun 2008 14:27:09 +0000 Subject: [PATCH] * eval.c (ruby_finalize_0): clear trace_func after executing END procs. * thread.c: fix typo. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ eval.c | 2 +- thread.c | 6 +++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index a80f1d4917..a47ded05b9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Thu Jun 5 23:25:34 2008 Yusuke Endoh + + * eval.c (ruby_finalize_0): clear trace_func after executing END + procs. + + * thread.c: fix typo. + Thu Jun 5 22:50:50 2008 Tanaka Akira * gc.c (os_obj_of): heaps may be modified in yield. diff --git a/eval.c b/eval.c index 76b0f35cdc..7cd2a22404 100644 --- a/eval.c +++ b/eval.c @@ -115,13 +115,13 @@ ruby_options(int argc, char **argv) static void ruby_finalize_0(void) { - rb_clear_trace_func(); PUSH_TAG(); if (EXEC_TAG() == 0) { rb_trap_exit(); } POP_TAG(); rb_exec_end_proc(); + rb_clear_trace_func(); } static void diff --git a/thread.c b/thread.c index 5d933e4aef..87535c2226 100644 --- a/thread.c +++ b/thread.c @@ -2817,7 +2817,7 @@ rb_exec_recursive(VALUE (*func) (VALUE, VALUE, int), VALUE obj, VALUE arg) /* tracer */ static rb_event_hook_t * -alloc_event_fook(rb_event_hook_func_t func, rb_event_flag_t events, VALUE data) +alloc_event_hook(rb_event_hook_func_t func, rb_event_flag_t events, VALUE data) { rb_event_hook_t *hook = ALLOC(rb_event_hook_t); hook->func = func; @@ -2842,7 +2842,7 @@ void rb_thread_add_event_hook(rb_thread_t *th, rb_event_hook_func_t func, rb_event_flag_t events, VALUE data) { - rb_event_hook_t *hook = alloc_event_fook(func, events, data); + rb_event_hook_t *hook = alloc_event_hook(func, events, data); hook->next = th->event_hooks; th->event_hooks = hook; thread_reset_event_flags(th); @@ -2873,7 +2873,7 @@ set_threads_event_flags(int flag) void rb_add_event_hook(rb_event_hook_func_t func, rb_event_flag_t events, VALUE data) { - rb_event_hook_t *hook = alloc_event_fook(func, events, data); + rb_event_hook_t *hook = alloc_event_hook(func, events, data); rb_vm_t *vm = GET_VM(); hook->next = vm->event_hooks;