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 | a469664fda324f5a934c995f27facce7804600d4 (patch) | |
tree | 96b130e912efefc888dd4f84dc35ca5de9077776 /lib | |
parent | a31fc08402beba8934984b901926f6465875a636 (diff) | |
download | ruby-a469664fda324f5a934c995f27facce7804600d4.tar.gz ruby-a469664fda324f5a934c995f27facce7804600d4.tar.xz ruby-a469664fda324f5a934c995f27facce7804600d4.zip |
* 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: http://svn.ruby-lang.org/repos/ruby/trunk@1703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-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 dd7cb306c..afa4e0b68 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 |