diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-08-20 04:29:58 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-08-20 04:29:58 +0000 |
commit | c7868668121470b56f173a596b750e8a27fe9e18 (patch) | |
tree | 96b130e912efefc888dd4f84dc35ca5de9077776 /lib/timeout.rb | |
parent | 772ed5507e569d7697841492a37d7607adbc9385 (diff) |
* range.c (range_step): 'iter' here should be an array.
* marshal.c (w_object): should retrieve __member__ data from
non-singleton class.
* variable.c (rb_cvar_get): class variable override check added.
* variable.c (rb_cvar_set): ditto
* variable.c (rb_cvar_declare): ditto.
* parse.y (parse_regx): handle backslash escaping of delimiter here.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/timeout.rb')
-rw-r--r-- | lib/timeout.rb | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/lib/timeout.rb b/lib/timeout.rb index dd7cb306cf..afa4e0b68c 100644 --- a/lib/timeout.rb +++ b/lib/timeout.rb @@ -25,7 +25,7 @@ # #=end -class TimeoutError<StandardError +class TimeoutError<Interrupt end def timeout(sec) @@ -37,14 +37,20 @@ def timeout(sec) x.raise TimeoutError, "execution expired" if x.alive? } yield sec - return true +# return true ensure - Thread.kill y if y and y.alive? + y.kill if y and y.alive? end end if __FILE__ == $0 - timeout(5) { - p 10 + p timeout(5) { + 45 + } + p timeout(5) { + loop { + p 10 + sleep 1 + } } end |