aboutsummaryrefslogtreecommitdiffstats
path: root/trace_point.rb
diff options
context:
space:
mode:
authorJeremy Evans <code@jeremyevans.net>2021-12-27 14:08:59 -0800
committerJeremy Evans <code@jeremyevans.net>2022-03-29 18:14:33 -0700
commit3c6a0033e3dc7da2898232a2efc7367ae6fc536a (patch)
tree0c640243614fa10e282eaab401b9a9ff9b94c0e3 /trace_point.rb
parent9c1d32a7ada794ecd0356d56f7be3cdf3982d8ac (diff)
downloadruby-3c6a0033e3dc7da2898232a2efc7367ae6fc536a.tar.gz
Avoid trace events in implementation of TracePoint#enable
This is more backwards compatible, and should fix issues with power_assert. Unfortunately, it requires using a sentinel value as the default value of target_thread, instead of the more natural expression used in the original approach.
Diffstat (limited to 'trace_point.rb')
-rw-r--r--trace_point.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/trace_point.rb b/trace_point.rb
index 866c807821..2fa2de32db 100644
--- a/trace_point.rb
+++ b/trace_point.rb
@@ -153,7 +153,7 @@ class TracePoint
# call-seq:
# trace.enable(target: nil, target_line: nil, target_thread: nil) -> true or false
- # trace.enable(target: nil, target_line: nil, target_thread: Thread.current) { block } -> obj
+ # trace.enable(target: nil, target_line: nil, target_thread: :default) { block } -> obj
#
# Activates the trace.
#
@@ -209,7 +209,7 @@ class TracePoint
# trace.enable { p tp.lineno }
# #=> RuntimeError: access from outside
#
- def enable(target: nil, target_line: nil, target_thread: (Thread.current if target.nil? && target_line.nil? && defined?(yield)))
+ def enable(target: nil, target_line: nil, target_thread: :default)
Primitive.tracepoint_enable_m(target, target_line, target_thread)
end