summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-01-27 07:35:20 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-01-27 07:35:20 +0000
commit50e48bc3aedc8ebd202de6737e5b161fe40d454d (patch)
tree9a9bfd8c4b04b1d0757654b3d934f46ad016d7e4
parenteec0044de952cd2b78b0797e139a08079277c4df (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
-rw-r--r--ChangeLog5
-rw-r--r--lib/resolv.rb7
-rw-r--r--version.h6
3 files changed, 14 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 96cba4b4a0..1de15d16db 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Jan 27 16:27:44 2015 Eric Wong <e@80x24.org>
+
+ * lib/resolv.rb: consider ENETUNREACH as ResolvTimeout
+ [ruby-core:67411] [Bug #10712]
+
Thu Jan 22 18:15:41 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
* ext/zlib/zlib.c: fix document of method signatures.
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
diff --git a/version.h b/version.h
index 31eedded91..650b2c28b8 100644
--- a/version.h
+++ b/version.h
@@ -1,10 +1,10 @@
#define RUBY_VERSION "2.0.0"
-#define RUBY_RELEASE_DATE "2015-01-22"
-#define RUBY_PATCHLEVEL 617
+#define RUBY_RELEASE_DATE "2015-01-27"
+#define RUBY_PATCHLEVEL 618
#define RUBY_RELEASE_YEAR 2015
#define RUBY_RELEASE_MONTH 1
-#define RUBY_RELEASE_DAY 22
+#define RUBY_RELEASE_DAY 27
#include "ruby/version.h"