Class: DEBUGGER__::UI_UnixDomainServer
- Inherits:
-
UI_ServerBase
- Object
- UI_Base
- UI_ServerBase
- DEBUGGER__::UI_UnixDomainServer
- Defined in:
- lib/debug/server.rb
Instance Attribute Summary
Attributes inherited from UI_ServerBase
Instance Method Summary collapse
- #accept ⇒ Object
-
#initialize(sock_dir: nil, sock_path: nil) ⇒ UI_UnixDomainServer
constructor
A new instance of UI_UnixDomainServer.
Methods inherited from UI_ServerBase
#activate, #after_fork_parent, #ask, #check_cookie, #cleanup_reader, #deactivate, #greeting, #parse_option, #pause, #process, #puts, #quit, #readline, #remote?, #setup_interrupt, #sigurg_overridden?, #sock, #vscode_setup, #width
Methods inherited from UI_Base
Constructor Details
#initialize(sock_dir: nil, sock_path: nil) ⇒ UI_UnixDomainServer
Returns a new instance of UI_UnixDomainServer.
474 475 476 477 478 479 480 |
# File 'lib/debug/server.rb', line 474 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 |
Instance Method Details
#accept ⇒ Object
482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 |
# File 'lib/debug/server.rb', line 482 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_frontend] == '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.} (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 |