summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-11-18 11:26:40 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-11-18 11:26:40 +0000
commit3233891d3670562bfa5aac2483e46f6c45851cad (patch)
treea313a74eb9e3a58fd9cb5f60dbd374eca103ce34
parent9f8d00ff9aa85d097def654494b16c2ce09d8e92 (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_1@52641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--version.h2
-rw-r--r--vm_trace.c2
3 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 34eec00cd5..23e3fe943e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Wed Nov 18 20:26:08 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
+
Wed Nov 18 20:19:49 2015 Koichi Sasada <ko1@atdot.net>
* compile.c (iseq_compile_each): remove duplicated line event.
diff --git a/version.h b/version.h
index f32d81db14..322da4a14a 100644
--- a/version.h
+++ b/version.h
@@ -1,6 +1,6 @@
#define RUBY_VERSION "2.1.8"
#define RUBY_RELEASE_DATE "2015-11-18"
-#define RUBY_PATCHLEVEL 416
+#define RUBY_PATCHLEVEL 417
#define RUBY_RELEASE_YEAR 2015
#define RUBY_RELEASE_MONTH 11
diff --git a/vm_trace.c b/vm_trace.c
index 2047d5aec8..0026edecd7 100644
--- a/vm_trace.c
+++ b/vm_trace.c
@@ -324,10 +324,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 {