From aefad35e2c5ef6077a095b66e2d59602d36f83ef Mon Sep 17 00:00:00 2001 From: akr Date: Wed, 16 Jan 2002 03:37:23 +0000 Subject: * lib/timeout.rb (timeout): new optional argument to specify an exception class. * lib/resolv.rb: use Resolv::ResolvTimeout for internal timeout to avoid problem with timeout of application. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@1994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/resolv.rb | 7 +++++-- lib/timeout.rb | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/resolv.rb b/lib/resolv.rb index 4c9582665..bfe8dd8b6 100644 --- a/lib/resolv.rb +++ b/lib/resolv.rb @@ -258,6 +258,9 @@ class Resolv class ResolvError < StandardError end + class ResolvTimeout < TimeoutError + end + class Hosts DefaultFileName = '/etc/hosts' @@ -426,7 +429,7 @@ class Resolv end sender.send reply = reply_name = nil - timeout(tout) { reply, reply_name = q.pop } + timeout(tout, ResolvTimeout) { reply, reply_name = q.pop } case reply.rcode when RCode::NoError extract_resources(reply, reply_name, typeclass, &proc) @@ -753,7 +756,7 @@ class Resolv @nameserver.each {|nameserver| begin yield candidate, tout, nameserver - rescue TimeoutError + rescue ResolvTimeout end } } diff --git a/lib/timeout.rb b/lib/timeout.rb index afa4e0b68..8c6ccb712 100644 --- a/lib/timeout.rb +++ b/lib/timeout.rb @@ -28,13 +28,13 @@ class TimeoutError