diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-12-15 15:57:06 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-12-15 15:57:06 +0000 |
commit | e25feba67b3563bce86f430340e8e1b5827bc465 (patch) | |
tree | 3ee312c307f400d469c7d56cd6a427729f09dfa9 | |
parent | 188909e220734423f652a4e90cecb8a6b1f3df29 (diff) |
* signal.c (Init_signal): revert C++ style comment.
[ruby-dev:28041]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | lib/.document | 2 | ||||
-rw-r--r-- | lib/timeout.rb | 49 | ||||
-rw-r--r-- | lib/tmpdir.rb | 3 | ||||
-rw-r--r-- | signal.c | 4 |
5 files changed, 50 insertions, 18 deletions
@@ -1,3 +1,13 @@ +Fri Dec 16 00:54:06 2005 Yukihiro Matsumoto <matz@ruby-lang.org> + + * signal.c (Init_signal): revert C++ style comment. + [ruby-dev:28041] + +Thu Dec 15 12:35:14 2005 Yukihiro Matsumoto <matz@ruby-lang.org> + + * lib/tmpdir.rb: merged RDoc patch from Eric Hodel <drbrain at + segment7.net>. [ruby-core:06894] + Thu Dec 15 01:33:31 2005 Tanaka Akira <akr@m17n.org> * ext/zlib/zlib.c (zstream_run): fix a GC problem by tail call on diff --git a/lib/.document b/lib/.document index 8029750178..4236a2a914 100644 --- a/lib/.document +++ b/lib/.document @@ -35,5 +35,7 @@ test/unit.rb thread.rb thwait.rb time.rb +timeout.rb +tmpdir.rb uri yaml.rb diff --git a/lib/timeout.rb b/lib/timeout.rb index 734d87f204..dc92964c0b 100644 --- a/lib/timeout.rb +++ b/lib/timeout.rb @@ -1,41 +1,52 @@ +#-- # = timeout.rb # # execution timeout # -# = Synopsis +# = Copyright # -# require 'timeout' -# status = Timeout::timeout(5) { -# # Something that should be interrupted if it takes too much time... -# } +# Copyright:: (C) 2000 Network Applied Communication Laboratory, Inc. +# Copyright:: (C) 2000 Information-technology Promotion Agency, Japan +# +#++ # # = Description # -# A way of performing a potentially long-running operation in a thread, and terminating -# it's execution if it hasn't finished by a fixed amount of time. +# A way of performing a potentially long-running operation in a thread, and +# terminating it's execution if it hasn't finished within fixed amount of +# time. # -# Previous versions of timeout didn't provide use a module for namespace. This version +# Previous versions of timeout didn't use a module for namespace. This version # provides both Timeout.timeout, and a backwards-compatible #timeout. # -# = Copyright +# = Synopsis +# +# require 'timeout' +# status = Timeout::timeout(5) { +# # Something that should be interrupted if it takes too much time... +# } # -# Copyright:: (C) 2000 Network Applied Communication Laboratory, Inc. -# Copyright:: (C) 2000 Information-technology Promotion Agency, Japan module Timeout + + ## # Raised by Timeout#timeout when the block times out. + class Error<Interrupt end + ## # Executes the method's block. If the block execution terminates before +sec+ # seconds has passed, it returns true. If not, it terminates the execution # and raises +exception+ (which defaults to Timeout::Error). # - # Note that this is both a method of module Timeout, so you can 'include Timeout' - # into your classes so they have a #timeout method, as well as a module method, - # so you can call it directly as Timeout.timeout(). + # Note that this is both a method of module Timeout, so you can 'include + # Timeout' into your classes so they have a #timeout method, as well as a + # module method, so you can call it directly as Timeout.timeout(). + def timeout(sec, exception=Error) return yield if sec == nil or sec.zero? + raise ThreadError, "timeout within critical session" if Thread.critical begin x = Thread.current y = Thread.start { @@ -50,21 +61,26 @@ module Timeout end module_function :timeout + end +## # Identical to: # # Timeout::timeout(n, e, &block). # # Defined for backwards compatibility with earlier versions of timeout.rb, see # Timeout#timeout. -def timeout(n, e=Timeout::Error, &block) + +def timeout(n, e=Timeout::Error, &block) # :nodoc: Timeout::timeout(n, e, &block) end +## # Another name for Timeout::Error, defined for backwards compatibility with # earlier versions of timeout.rb. -TimeoutError = Timeout::Error + +TimeoutError = Timeout::Error # :nodoc: if __FILE__ == $0 p timeout(5) { @@ -86,3 +102,4 @@ if __FILE__ == $0 } } end + diff --git a/lib/tmpdir.rb b/lib/tmpdir.rb index bee99c41cb..3042ed5202 100644 --- a/lib/tmpdir.rb +++ b/lib/tmpdir.rb @@ -24,6 +24,9 @@ class Dir rescue LoadError end + ## + # Returns the operating system's temporary file path. + def Dir::tmpdir tmp = '.' if $SAFE > 0 @@ -879,10 +879,10 @@ Init_signal() #endif #ifdef SIGBUS - //install_sighandler(SIGBUS, sigbus); + install_sighandler(SIGBUS, sigbus); #endif #ifdef SIGSEGV - //install_sighandler(SIGSEGV, sigsegv); + install_sighandler(SIGSEGV, sigsegv); #endif #ifdef SIGPIPE install_sighandler(SIGPIPE, sigpipe); |