aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--vm_trace.c2
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 9f68994bcb..befd1d6dbf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 {