# File lib/memcache.rb, line 292 def socket # Attempt to connect if not already connected. unless @sock || (!@sock.nil? && @sock.closed?) # If the host was dead, don't retry for a while. if @retry && (@retry > Time::now) @sock = nil else begin @sock = timeout(CONNECT_TIMEOUT) { TCPSocket::new(@host, @port) } @retry = nil @status = "CONNECTED" rescue SystemCallError, IOError, Timeout::Error => err self.mark_dead(err.message) end end end @sock end