Current Path: > > opt > > alt > > ruby27 > share > ruby
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
benchmark | Directory | - | - | |
bigdecimal | Directory | - | - | |
cgi | Directory | - | - | |
csv | Directory | - | - | |
delegate | Directory | - | - | |
did_you_mean | Directory | - | - | |
digest | Directory | - | - | |
drb | Directory | - | - | |
fiddle | Directory | - | - | |
forwardable | Directory | - | - | |
getoptlong | Directory | - | - | |
io | Directory | - | - | |
irb | Directory | - | - | |
json | Directory | - | - | |
logger | Directory | - | - | |
matrix | Directory | - | - | |
net | Directory | - | - | |
observer | Directory | - | - | |
open3 | Directory | - | - | |
openssl | Directory | - | - | |
optparse | Directory | - | - | |
ostruct | Directory | - | - | |
pstore | Directory | - | - | |
psych | Directory | - | - | |
racc | Directory | - | - | |
reline | Directory | - | - | |
rexml | Directory | - | - | |
rinda | Directory | - | - | |
ripper | Directory | - | - | |
rss | Directory | - | - | |
singleton | Directory | - | - | |
syslog | Directory | - | - | |
timeout | Directory | - | - | |
tracer | Directory | - | - | |
unicode_normalize | Directory | - | - | |
uri | Directory | - | - | |
vendor_ruby | Directory | - | - | |
webrick | Directory | - | - | |
yaml | Directory | - | - | |
English.rb | File | 6258 bytes | March 30 2023 12:34:08. | |
abbrev.rb | File | 3529 bytes | March 30 2023 12:34:08. | |
base64.rb | File | 3379 bytes | March 30 2023 12:34:08. | |
benchmark.rb | File | 18453 bytes | March 30 2023 12:34:08. | |
bigdecimal.rb | File | 24 bytes | June 06 2023 14:54:35. | |
cgi.rb | File | 10037 bytes | March 30 2023 12:34:08. | |
coverage.rb | File | 368 bytes | June 06 2023 14:54:35. | |
csv.rb | File | 55643 bytes | March 30 2023 12:34:08. | |
date.rb | File | 1066 bytes | June 06 2023 14:54:34. | |
debug.rb | File | 30624 bytes | March 30 2023 12:34:08. | |
delegate.rb | File | 11343 bytes | March 30 2023 12:34:08. | |
did_you_mean.rb | File | 3806 bytes | March 30 2023 12:34:08. | |
digest.rb | File | 2894 bytes | June 06 2023 14:54:35. | |
drb.rb | File | 50 bytes | March 30 2023 12:34:08. | |
erb.rb | File | 29504 bytes | March 30 2023 12:34:08. | |
expect.rb | File | 2217 bytes | June 06 2023 14:54:35. | |
fiddle.rb | File | 1722 bytes | June 06 2023 14:54:35. | |
fileutils.rb | File | 49211 bytes | March 30 2023 12:34:08. | |
find.rb | File | 2526 bytes | March 30 2023 12:34:08. | |
forwardable.rb | File | 9130 bytes | March 30 2023 12:34:08. | |
getoptlong.rb | File | 15787 bytes | March 30 2023 12:34:08. | |
ipaddr.rb | File | 19989 bytes | March 30 2023 12:34:08. | |
irb.rb | File | 27603 bytes | March 30 2023 12:34:08. | |
json.rb | File | 1809 bytes | June 06 2023 14:54:34. | |
kconv.rb | File | 5861 bytes | June 06 2023 14:54:34. | |
logger.rb | File | 16792 bytes | March 30 2023 12:34:08. | |
matrix.rb | File | 61703 bytes | March 30 2023 12:34:08. | |
mkmf.rb | File | 88539 bytes | June 06 2023 14:51:26. | |
monitor.rb | File | 6920 bytes | June 06 2023 14:54:35. | |
mutex_m.rb | File | 2214 bytes | March 30 2023 12:34:08. | |
observer.rb | File | 5971 bytes | March 30 2023 12:34:08. | |
open-uri.rb | File | 26088 bytes | March 30 2023 12:34:08. | |
open3.rb | File | 22336 bytes | March 30 2023 12:34:08. | |
openssl.rb | File | 469 bytes | June 06 2023 14:54:34. | |
optionparser.rb | File | 59 bytes | March 30 2023 12:34:08. | |
optparse.rb | File | 60919 bytes | March 30 2023 12:34:08. | |
ostruct.rb | File | 10785 bytes | March 30 2023 12:34:08. | |
pathname.rb | File | 16558 bytes | June 06 2023 14:54:34. | |
pp.rb | File | 15978 bytes | March 30 2023 12:34:08. | |
prettyprint.rb | File | 16276 bytes | March 30 2023 12:34:08. | |
prime.rb | File | 12670 bytes | March 30 2023 12:34:08. | |
pstore.rb | File | 15063 bytes | March 30 2023 12:34:08. | |
psych.rb | File | 21718 bytes | June 06 2023 14:54:34. | |
racc.rb | File | 137 bytes | March 30 2023 12:34:08. | |
readline.rb | File | 113 bytes | March 30 2023 12:34:08. | |
reline.rb | File | 13253 bytes | March 30 2023 12:34:08. | |
resolv-replace.rb | File | 1805 bytes | March 30 2023 12:34:08. | |
resolv.rb | File | 75326 bytes | June 06 2023 14:51:27. | |
ripper.rb | File | 2494 bytes | June 06 2023 14:54:35. | |
rss.rb | File | 2963 bytes | March 30 2023 12:34:08. | |
securerandom.rb | File | 9528 bytes | March 30 2023 12:34:08. | |
set.rb | File | 24622 bytes | March 30 2023 12:34:08. | |
shellwords.rb | File | 6816 bytes | March 30 2023 12:34:08. | |
singleton.rb | File | 4158 bytes | March 30 2023 12:34:08. | |
socket.rb | File | 44702 bytes | June 06 2023 14:54:34. | |
tempfile.rb | File | 11213 bytes | March 30 2023 12:34:08. | |
time.rb | File | 24590 bytes | March 30 2023 12:34:08. | |
timeout.rb | File | 4075 bytes | March 30 2023 12:34:08. | |
tmpdir.rb | File | 4142 bytes | March 30 2023 12:34:08. | |
tracer.rb | File | 6640 bytes | March 30 2023 12:34:08. | |
tsort.rb | File | 14642 bytes | March 30 2023 12:34:08. | |
un.rb | File | 10202 bytes | March 30 2023 12:34:08. | |
uri.rb | File | 3039 bytes | March 30 2023 12:34:08. | |
weakref.rb | File | 1473 bytes | March 30 2023 12:34:08. | |
webrick.rb | File | 6890 bytes | March 30 2023 12:34:08. | |
yaml.rb | File | 1845 bytes | March 30 2023 12:34:08. |
# frozen_string_literal: false # Timeout long-running blocks # # == Synopsis # # require 'timeout' # status = Timeout::timeout(5) { # # Something that should be interrupted if it takes more than 5 seconds... # } # # == Description # # Timeout provides a way to auto-terminate a potentially long-running # operation if it hasn't finished in a fixed amount of time. # # Previous versions didn't use a module for namespacing, however # #timeout is provided for backwards compatibility. You # should prefer Timeout.timeout instead. # # == Copyright # # 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 < RuntimeError attr_reader :thread def self.catch(*args) exc = new(*args) exc.instance_variable_set(:@thread, Thread.current) ::Kernel.catch(exc) {yield exc} end def exception(*) # TODO: use Fiber.current to see if self can be thrown if self.thread == Thread.current bt = caller begin throw(self, bt) rescue UncaughtThrowError end end self end end # :stopdoc: THIS_FILE = /\A#{Regexp.quote(__FILE__)}:/o CALLER_OFFSET = ((c = caller[0]) && THIS_FILE =~ c) ? 1 : 0 private_constant :THIS_FILE, :CALLER_OFFSET # :startdoc: # Perform an operation in a block, raising an error if it takes longer than # +sec+ seconds to complete. # # +sec+:: Number of seconds to wait for the block to terminate. Any number # may be used, including Floats to specify fractional seconds. A # value of 0 or +nil+ will execute the block without any timeout. # +klass+:: Exception Class to raise if the block fails to terminate # in +sec+ seconds. Omitting will use the default, Timeout::Error # +message+:: Error message to raise with Exception Class. # Omitting will use the default, "execution expired" # # Returns the result of the block *if* the block completed before # +sec+ seconds, otherwise throws an exception, based on the value of +klass+. # # The exception thrown to terminate the given block cannot be rescued inside # the block unless +klass+ is given explicitly. However, the block can use # ensure to prevent the handling of the exception. For that reason, this # method cannot be relied on to enforce timeouts for untrusted blocks. # # Note that this is both a method of module Timeout, so you can <tt>include # Timeout</tt> 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, klass = nil, message = nil) #:yield: +sec+ return yield(sec) if sec == nil or sec.zero? message ||= "execution expired".freeze from = "from #{caller_locations(1, 1)[0]}" if $DEBUG e = Error bl = proc do |exception| begin x = Thread.current y = Thread.start { Thread.current.name = from begin sleep sec rescue => e x.raise e else x.raise exception, message end } return yield(sec) ensure if y y.kill y.join # make sure y is dead. end end end if klass begin bl.call(klass) rescue klass => e bt = e.backtrace end else bt = Error.catch(message, &bl) end level = -caller(CALLER_OFFSET).size-2 while THIS_FILE =~ bt[level] bt.delete_at(level) end raise(e, message, bt) end module_function :timeout end def timeout(*args, &block) warn "Object##{__method__} is deprecated, use Timeout.timeout instead.", uplevel: 1 Timeout.timeout(*args, &block) end # Another name for Timeout::Error, defined for backwards compatibility with # earlier versions of timeout.rb. TimeoutError = Timeout::Error class Object deprecate_constant :TimeoutError end
SILENT KILLER Tool