diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-01-27 07:35:20 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-01-27 07:35:20 +0000 |
commit | 50e48bc3aedc8ebd202de6737e5b161fe40d454d (patch) | |
tree | 9a9bfd8c4b04b1d0757654b3d934f46ad016d7e4 /lib | |
parent | eec0044de952cd2b78b0797e139a08079277c4df (diff) |
merge revision(s) 49175: [Backport #10712]
* lib/resolv.rb: consider ENETUNREACH as ResolvTimeout
[ruby-core:67411] [Bug #10712]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@49422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r-- | lib/resolv.rb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/resolv.rb b/lib/resolv.rb index 73b9861078..788806b470 100644 --- a/lib/resolv.rb +++ b/lib/resolv.rb @@ -662,7 +662,12 @@ class Resolv def request(sender, tout) start = Time.now timelimit = start + tout - sender.send + begin + sender.send + rescue Errno::EHOSTUNREACH, # multi-homed IPv6 may generate this + Erron::ENETUNREACH + raise ResolvTimeout + end while true before_select = Time.now timeout = timelimit - before_select |