aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--vm_trace.c1
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7463008ec5..14958852b0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Wed Dec 4 13:02:13 2013 Aman Gupta <ruby@tmm1.net>
+
+ * vm_trace.c (rb_suppress_tracing): Fix initialization of stack
+ allocated rb_trace_arg_t structure. Without this patch, sometimes
+ INTERNAL_EVENT_GC would be skipped accidentally inside
+ rb_threadptr_exec_event_hooks_orig().
+
Wed Dec 4 12:57:24 2013 Aman Gupta <ruby@tmm1.net>
* string.c (fstr_update_callback): Improve implementation in r43968
diff --git a/vm_trace.c b/vm_trace.c
index 3a88811286..49a5fd0832 100644
--- a/vm_trace.c
+++ b/vm_trace.c
@@ -392,6 +392,7 @@ rb_suppress_tracing(VALUE (*func)(VALUE), VALUE arg)
int state;
const int tracing = th->trace_arg ? 1 : 0;
rb_trace_arg_t dummy_trace_arg;
+ dummy_trace_arg.event = 0;
if (!tracing) th->vm->trace_running++;
if (!th->trace_arg) th->trace_arg = &dummy_trace_arg;