Class: Net::SSH::Connection::Session

Inherits:
Object
  • Object
show all
Includes:
Open3
Defined in:
lib/net-ssh-open3.rb

Instance Method Summary collapse

Methods included from Open3

#capture2, #capture2e, #capture3, #popen2, #popen2e, #popen3

Constructor Details

#initialize(*args, &block) ⇒ Session

Overridden version of initialize which starts an Open3 SSH loop.



391
392
393
394
395
396
397
398
399
400
401
402
# File 'lib/net-ssh-open3.rb', line 391

def initialize(*args, &block)
  initialize_without_open3(*args, &block)

  @open3_channels_mutex = Mutex.new

  # open3_ping method will pull waiter thread out of select(2) call
  # to update watched Channels and IOs and process incomes.
  pinger_reader, @open3_pinger_writer = IO.pipe
  listen_to(pinger_reader) { pinger_reader.readpartial(1) }

  @session_loop = Thread.new { open3_loop }
end