summaryrefslogtreecommitdiff
path: root/vm_trace.c
diff options
context:
space:
mode:
authornagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-11-08 14:49:09 +0000
committernagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-11-08 14:49:09 +0000
commit27635014e1284756d7a56479d65b6159ebb8eeb3 (patch)
treeaa0e601a41bf3f11a5966ce9328e6835ccbc58ff /vm_trace.c
parenta8b1b529f1042c8bf71ce2855147d92305c204f7 (diff)
merge revision(s) 52476,52477: [Backport #11603]
* 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 * vm_trace.c (rb_threadptr_exec_event_hooks_orig): git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@52497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_trace.c')
-rw-r--r--vm_trace.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/vm_trace.c b/vm_trace.c
index e50ea992f2..3c0287d69c 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 {