diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | vm_trace.c | 2 |
2 files changed, 10 insertions, 0 deletions
@@ -1,3 +1,11 @@ +Sat Nov 7 09:51:38 2015 Koichi Sasada <ko1@atdot.net> + + * vm_trace.c (rb_threadptr_exec_event_hooks_orig): + maintain trace_running counter on internal events. + + This patch is made by Takashi Kokubun <takashikkbn@gmail.com>. + [Bug #11603] https://github.com/ruby/ruby/pull/1059 + Sat Nov 7 03:32:27 2015 Koichi Sasada <ko1@atdot.net> * include/ruby/ruby.h (RSTRUCT_PTR): need a close parenthese. diff --git a/vm_trace.c b/vm_trace.c index bf318b1960..ff2118384a 100644 --- a/vm_trace.c +++ b/vm_trace.c @@ -318,10 +318,12 @@ rb_threadptr_exec_event_hooks_orig(rb_trace_arg_t *trace_arg, int pop_p) } else { rb_trace_arg_t *prev_trace_arg = th->trace_arg; + th->vm->trace_running++; th->trace_arg = trace_arg; exec_hooks_unprotected(th, &th->event_hooks, trace_arg); exec_hooks_unprotected(th, &th->vm->event_hooks, trace_arg); th->trace_arg = prev_trace_arg; + th->vm->trace_running--; } } else { |