diff --git a/lib/io/endpoint/host_endpoint.rb b/lib/io/endpoint/host_endpoint.rb index 609cfba..8d7dc06 100644 --- a/lib/io/endpoint/host_endpoint.rb +++ b/lib/io/endpoint/host_endpoint.rb @@ -44,7 +44,7 @@ def connect(wrapper = self.wrapper, &block) Addrinfo.foreach(*@specification) do |address| begin socket = wrapper.connect(address, **@options) - rescue Errno::ECONNREFUSED, Errno::ENETUNREACH, Errno::EAGAIN => last_error + rescue Errno::ECONNREFUSED, Errno::ENETUNREACH, Errno::EHOSTUNREACH, Errno::EAGAIN => last_error # Try again unless if possible, otherwise raise... else return socket unless block_given?