diff options
author | Jeremy Evans <code@jeremyevans.net> | 2021-12-27 14:08:59 -0800 |
---|---|---|
committer | Jeremy Evans <code@jeremyevans.net> | 2022-03-29 18:14:33 -0700 |
commit | 3c6a0033e3dc7da2898232a2efc7367ae6fc536a (patch) | |
tree | 0c640243614fa10e282eaab401b9a9ff9b94c0e3 /trace_point.rb | |
parent | 9c1d32a7ada794ecd0356d56f7be3cdf3982d8ac (diff) |
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.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/5359
Diffstat (limited to 'trace_point.rb')
-rw-r--r-- | trace_point.rb | 4 |
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 |