1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Updated rdoc to fix timeout.rb and include rinda directory. By Eric Hodel

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ryan 2005-11-21 23:58:10 +00:00
parent 1eee80577f
commit 9372265026
3 changed files with 38 additions and 17 deletions

View file

@ -28,6 +28,7 @@ optionparser.rb
pathname.rb pathname.rb
pstore.rb pstore.rb
rational.rb rational.rb
rinda
resolv.rb resolv.rb
set.rb set.rb
shellwords.rb shellwords.rb
@ -37,5 +38,6 @@ test/unit.rb
thread.rb thread.rb
thwait.rb thwait.rb
time.rb time.rb
timeout.rb
uri uri
yaml.rb yaml.rb

3
lib/rinda/.document Normal file
View file

@ -0,0 +1,3 @@
rinda.rb
ring.rb
tuplespace.rb

View file

@ -1,7 +1,24 @@
#--
# = timeout.rb # = timeout.rb
# #
# execution timeout # execution timeout
# #
# = Copyright
#
# 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 within fixed amount of
# time.
#
# Previous versions of timeout didn't use a module for namespace. This version
# provides both Timeout.timeout, and a backwards-compatible #timeout.
#
# = Synopsis # = Synopsis
# #
# require 'timeout' # require 'timeout'
@ -9,31 +26,24 @@
# # Something that should be interrupted if it takes too much time... # # Something that should be interrupted if it takes too much time...
# } # }
# #
# = 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.
#
# Previous versions of timeout didn't provide use a module for namespace. This version
# provides both Timeout.timeout, and a backwards-compatible #timeout.
#
# = Copyright
#
# Copyright:: (C) 2000 Network Applied Communication Laboratory, Inc.
# Copyright:: (C) 2000 Information-technology Promotion Agency, Japan
module Timeout module Timeout
##
# Raised by Timeout#timeout when the block times out. # Raised by Timeout#timeout when the block times out.
class Error<Interrupt class Error<Interrupt
end end
##
# Executes the method's block. If the block execution terminates before +sec+ # Executes the method's block. If the block execution terminates before +sec+
# seconds has passed, it returns true. If not, it terminates the execution # seconds has passed, it returns true. If not, it terminates the execution
# and raises +exception+ (which defaults to Timeout::Error). # and raises +exception+ (which defaults to Timeout::Error).
# #
# Note that this is both a method of module Timeout, so you can 'include Timeout' # Note that this is both a method of module Timeout, so you can 'include
# into your classes so they have a #timeout method, as well as a module method, # Timeout' into your classes so they have a #timeout method, as well as a
# so you can call it directly as Timeout.timeout(). # module method, so you can call it directly as Timeout.timeout().
def timeout(sec, exception=Error) def timeout(sec, exception=Error)
return yield if sec == nil or sec.zero? return yield if sec == nil or sec.zero?
raise ThreadError, "timeout within critical session" if Thread.critical raise ThreadError, "timeout within critical session" if Thread.critical
@ -51,21 +61,26 @@ module Timeout
end end
module_function :timeout module_function :timeout
end end
##
# Identical to: # Identical to:
# #
# Timeout::timeout(n, e, &block). # Timeout::timeout(n, e, &block).
# #
# Defined for backwards compatibility with earlier versions of timeout.rb, see # Defined for backwards compatibility with earlier versions of timeout.rb, see
# Timeout#timeout. # Timeout#timeout.
def timeout(n, e=Timeout::Error, &block)
def timeout(n, e=Timeout::Error, &block) # :nodoc:
Timeout::timeout(n, e, &block) Timeout::timeout(n, e, &block)
end end
##
# Another name for Timeout::Error, defined for backwards compatibility with # Another name for Timeout::Error, defined for backwards compatibility with
# earlier versions of timeout.rb. # earlier versions of timeout.rb.
TimeoutError = Timeout::Error
TimeoutError = Timeout::Error # :nodoc:
if __FILE__ == $0 if __FILE__ == $0
p timeout(5) { p timeout(5) {
@ -87,3 +102,4 @@ if __FILE__ == $0
} }
} }
end end