@@ -34,25 +34,25 @@ defmodule RabbitMQ.CLI.Diagnostics.Commands.RemoteShellCommand do
3434 "Starting an interactive Erlang shell on node #{ node_name } ... Press 'Ctrl+G' then 'q' to exit."
3535 end
3636
37-
3837 defp start_shell_on_otp_26_plus ( node_name ) do
3938 case :shell . start_interactive ( { node_name , { :shell , :start , [ ] } } ) do
4039 :ok -> :ok
4140 { :error , :already_started } -> :ok
4241 { error , _ } -> { :error , { :badrpc , :nodedown } }
4342 end
43+
4444 :timer . sleep ( :infinity )
4545 end
4646
4747 defp start_shell_on_otp_25 ( node_name ) do
4848 _ = Supervisor . terminate_child ( :kernel_sup , :user )
49- Process . flag ( :trap_exit , true )
50- user_drv = :user_drv . start ( [ 'tty_sl -c -e' , { node_name , :shell , :start , [ ] } ] )
51- Process . link ( user_drv )
52-
53- receive do
54- { 'EXIT' , _user_drv , _ } ->
55- { :ok , "Disconnected from #{ node_name } ." }
56- end
49+ Process . flag ( :trap_exit , true )
50+ user_drv = :user_drv . start ( [ 'tty_sl -c -e' , { node_name , :shell , :start , [ ] } ] )
51+ Process . link ( user_drv )
52+
53+ receive do
54+ { 'EXIT' , _user_drv , _ } ->
55+ { :ok , "Disconnected from #{ node_name } ." }
56+ end
5757 end
5858end
0 commit comments