From cc311e1c4599200dd7437cd578e61c83067e555c Mon Sep 17 00:00:00 2001 From: Stan Lo Date: Wed, 11 Oct 2023 15:16:32 +0100 Subject: [ruby/irb] Avoid locking the debug UI to a single thread (https://github.com/ruby/irb/pull/725) Since `debug` stores and updates the target thread via its Session's `@tc` variable, we don't need to and shouldn't lock the UI to the thread that activates the integration. https://github.com/ruby/irb/commit/202efdbf0c --- lib/irb/debug/ui.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'lib/irb/debug/ui.rb') diff --git a/lib/irb/debug/ui.rb b/lib/irb/debug/ui.rb index a4ca4fdf0f..307097b8c9 100644 --- a/lib/irb/debug/ui.rb +++ b/lib/irb/debug/ui.rb @@ -4,8 +4,7 @@ require 'debug/console' module IRB module Debug class UI < DEBUGGER__::UI_Base - def initialize(thread, irb) - @thread = thread + def initialize(irb) @irb = irb end @@ -56,7 +55,7 @@ module IRB def readline _ setup_interrupt do - tc = DEBUGGER__::SESSION.get_thread_client(@thread) + tc = DEBUGGER__::SESSION.instance_variable_get(:@tc) cmd = @irb.debug_readline(tc.current_frame.binding || TOPLEVEL_BINDING) case cmd -- cgit v1.2.3