Method: Selenium::WebDriver::PortProber.free?

Defined in:
lib/selenium/webdriver/common/port_prober.rb

.free?(port) ⇒ Boolean

Returns:

  • (Boolean)


33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/selenium/webdriver/common/port_prober.rb', line 33

def self.free?(port)
  Platform.interfaces.each do |host|
    TCPServer.new(host, port).close
  rescue *IGNORED_ERRORS => e
    WebDriver.logger.debug("port prober could not bind to #{host}:#{port} (#{e.message})", id: :driver_service)
    # ignored - some machines appear unable to bind to some of their interfaces
  end

  true
rescue SocketError, Errno::EADDRINUSE
  false
end