  /*
   *  call-seq:
 - *     thr.add_trace_func(proc)    -> proc
-+ *     thr.add_trace_func(proc, events=RUBY_EVENT_ALL)    => proc
++ *     thr.add_trace_func(proc, events=RUBY_EVENT_ALL)    -> proc
   *
   *  Adds _proc_ as a handler for tracing.
   *  See <code>Thread#set_trace_func</code> and +set_trace_func+.

 void
 rb_thread_terminate_all(void)
 {
@@ -3766,7 +3776,9 @@
     GetThreadPtr(thval, th);
 
     if (flag) {
-	th->event_flags |= RUBY_EVENT_VM;
+        /* Rocky: Probably wrong to set RUBY_EVENT_BRKPT here. And why is RUBY_EVENT_VM
+           special? */
+        th->event_flags |= (RUBY_EVENT_VM | RUBY_EVENT_BRKPT);
     }
     else {

  *  call-seq:
- *     set_trace_func(proc)    -> proc
- *     set_trace_func(nil)     -> nil
+ *     set_trace_func(proc)        -> proc
+ *     set_trace_func(proc, mask)  -> proc
+ *     set_trace_func(nil)         -> nil
  *
  *  Establishes _proc_ as the handler for tracing, or disables
  *  tracing if the parameter is +nil+. _proc_ takes up
