From 17e1cfef8cae430ecce87ea3338b29992bd12665 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: svn+ssh://ci.ruby-lang.org/ruby/trunk@1994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++++++ lib/resolv.rb | 7 +++++-- lib/timeout.rb | 4 ++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 633cd9dfe6..1d90e24780 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Wed Jan 16 12:29:14 2002 Tanaka Akira + + * 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. + Wed Jan 16 11:12:30 2002 Nobuyoshi Nakada * object.c (rb_Float): remove underscores between digits. diff --git a/lib/resolv.rb b/lib/resolv.rb index 4c95826653..bfe8dd8b61 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 afa4e0b68c..8c6ccb7128 100644 --- a/lib/timeout.rb +++ b/lib/timeout.rb @@ -28,13 +28,13 @@ class TimeoutError