From 8dbacbfefcdf44400f50fc1768317cd514fe20bd Mon Sep 17 00:00:00 2001 From: shyouhei Date: Sat, 22 May 2010 13:31:52 +0000 Subject: merge revision(s) 26750: * lib/resolv.rb: fix [ruby-core:28320] reported by Paul Clegg. (Resolv::DNS::Requester#request): raise ResolvTimeout consistently for timeout. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@27960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ lib/resolv.rb | 6 +++++- version.h | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6dcfcd8e78..74d8f0a341 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sat May 22 22:31:36 2010 Tanaka Akira + + * lib/resolv.rb: fix [ruby-core:28320] reported by Paul Clegg. + (Resolv::DNS::Requester#request): raise ResolvTimeout consistently + for timeout. + Sat May 22 22:14:11 2010 NARUSE, Yui * ext/readline/readline.c (Init_readline): initialize diff --git a/lib/resolv.rb b/lib/resolv.rb index b9a2174191..5a4275f63a 100644 --- a/lib/resolv.rb +++ b/lib/resolv.rb @@ -611,8 +611,12 @@ class Resolv def request(sender, tout) timelimit = Time.now + tout sender.send - while (now = Time.now) < timelimit + while true + now = Time.now timeout = timelimit - now + if timeout <= 0 + raise ResolvTimeout + end select_result = IO.select(@socks, nil, nil, timeout) if !select_result raise ResolvTimeout diff --git a/version.h b/version.h index d188196333..da69622172 100644 --- a/version.h +++ b/version.h @@ -2,7 +2,7 @@ #define RUBY_RELEASE_DATE "2010-05-22" #define RUBY_VERSION_CODE 187 #define RUBY_RELEASE_CODE 20100522 -#define RUBY_PATCHLEVEL 264 +#define RUBY_PATCHLEVEL 265 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 -- cgit v1.2.3