class DEBUGGER__::UI_UnixDomainServer
Public Class Methods
new(sock_dir: nil, sock_path: nil)
click to toggle source
Calls superclass method
DEBUGGER__::UI_ServerBase::new
# File debug-1.9.1/lib/debug/server.rb, line 479 def initialize sock_dir: nil, sock_path: nil @sock_path = sock_path @sock_dir = sock_dir || DEBUGGER__.unix_domain_socket_dir @sock_for_fork = nil super() end
Public Instance Methods
accept() { |sock| ... }
click to toggle source
Calls superclass method
DEBUGGER__::UI_ServerBase#accept
# File debug-1.9.1/lib/debug/server.rb, line 487 def accept super # for fork case when @sock_path when sp = CONFIG[:sock_path] @sock_path = sp else @sock_path = DEBUGGER__.create_unix_domain_socket_name(@sock_dir) end ::DEBUGGER__.warn "Debugger can attach via UNIX domain socket (#{@sock_path})" vscode_setup @sock_path if CONFIG[:open] == 'vscode' begin Socket.unix_server_loop @sock_path do |sock, client| @sock_for_fork = sock @client_addr = client yield sock ensure sock.close @sock_for_fork = nil end rescue Errno::ECONNREFUSED => _e ::DEBUGGER__.warn "#{_e.message} (socket path: #{@sock_path})" if @sock_path.start_with? Config.unix_domain_socket_tmpdir # try on homedir @sock_path = Config.create_unix_domain_socket_name(unix_domain_socket_homedir) ::DEBUGGER__.warn "retry with #{@sock_path}" retry else raise end end end