Class: Selenium::WebDriver::Firefox::SocketLock Private

Inherits:
Object
  • Object
show all
Defined in:
lib/selenium/webdriver/firefox/socket_lock.rb

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Constant Summary collapse

HOST =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Need to be really specific about what host to use

On os x, “localhost” will resolve to 3 different addresses (see /etc/hosts). Ruby will loop over these and happily bind to the same port on each one, making it completely unusable for our purposes.

"127.0.0.1"

Instance Method Summary collapse

Constructor Details

#initialize(port, timeout) ⇒ SocketLock

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of SocketLock.



23
24
25
26
# File 'lib/selenium/webdriver/firefox/socket_lock.rb', line 23

def initialize(port, timeout)
  @port    = port
  @timeout = timeout
end

Instance Method Details

#locked(&blk) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



28
29
30
31
32
33
34
35
36
# File 'lib/selenium/webdriver/firefox/socket_lock.rb', line 28

def locked(&blk)
  lock

  begin
    yield
  ensure
    release
  end
end