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:
parent
1eee80577f
commit
9372265026
3 changed files with 38 additions and 17 deletions
|
@ -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
3
lib/rinda/.document
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
rinda.rb
|
||||||
|
ring.rb
|
||||||
|
tuplespace.rb
|
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue