diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-01-16 03:37:23 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-01-16 03:37:23 +0000 |
commit | 17e1cfef8cae430ecce87ea3338b29992bd12665 (patch) | |
tree | fc3d9a3b547bcab1a95ff2fa64c58b0c4c7cd5f0 /lib/timeout.rb | |
parent | 5fe2879fd5b2b5db264f4bdbbc1181482b70e339 (diff) |
* 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
Diffstat (limited to 'lib/timeout.rb')
-rw-r--r-- | lib/timeout.rb | 4 |
1 files changed, 2 insertions, 2 deletions
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<Interrupt end -def timeout(sec) +def timeout(sec, exception=TimeoutError) return yield if sec == nil begin x = Thread.current y = Thread.start { sleep sec - x.raise TimeoutError, "execution expired" if x.alive? + x.raise exception, "execution expired" if x.alive? } yield sec # return true |