class Excon::Socket
def select_with_timeout(socket, type)
def select_with_timeout(socket, type) select = case type when :connect_read IO.select([socket], nil, nil, @data[:connect_timeout]) when :connect_write IO.select(nil, [socket], nil, @data[:connect_timeout]) when :read IO.select([socket], nil, nil, @data[:read_timeout]) when :write IO.select(nil, [socket], nil, @data[:write_timeout]) end select || raise(Excon::Errors::Timeout.new("#{type} timeout reached")) end