diff options
Diffstat (limited to 'lib/resolv.rb')
-rw-r--r-- | lib/resolv.rb | 6 |
1 files changed, 5 insertions, 1 deletions
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 |