Current Path: > > > > opt > alt > ruby30 > 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 | - | - | |
did_you_mean | Directory | - | - | |
digest | Directory | - | - | |
drb | Directory | - | - | |
fiddle | Directory | - | - | |
forwardable | Directory | - | - | |
io | Directory | - | - | |
json | Directory | - | - | |
logger | Directory | - | - | |
matrix | Directory | - | - | |
net | Directory | - | - | |
openssl | Directory | - | - | |
optparse | Directory | - | - | |
psych | Directory | - | - | |
racc | Directory | - | - | |
reline | Directory | - | - | |
rinda | Directory | - | - | |
ripper | Directory | - | - | |
set | Directory | - | - | |
syslog | Directory | - | - | |
unicode_normalize | Directory | - | - | |
uri | Directory | - | - | |
vendor_ruby | Directory | - | - | |
yaml | Directory | - | - | |
English.rb | File | 6258 bytes | June 26 2024 13:55:18. | |
abbrev.rb | File | 3529 bytes | June 26 2024 13:55:18. | |
base64.rb | File | 3379 bytes | June 26 2024 13:55:18. | |
benchmark.rb | File | 18453 bytes | June 26 2024 13:55:18. | |
bigdecimal.rb | File | 24 bytes | June 26 2024 13:55:18. | |
cgi.rb | File | 10057 bytes | June 26 2024 13:55:18. | |
coverage.rb | File | 368 bytes | June 26 2024 13:55:18. | |
csv.rb | File | 88793 bytes | June 26 2024 13:55:18. | |
date.rb | File | 1042 bytes | June 26 2024 13:55:18. | |
debug.rb | File | 31032 bytes | June 26 2024 13:55:18. | |
delegate.rb | File | 11961 bytes | June 26 2024 13:55:17. | |
did_you_mean.rb | File | 3946 bytes | June 26 2024 13:55:17. | |
digest.rb | File | 2894 bytes | June 26 2024 13:55:18. | |
drb.rb | File | 50 bytes | June 26 2024 13:55:18. | |
erb.rb | File | 29504 bytes | June 26 2024 13:55:18. | |
expect.rb | File | 2217 bytes | June 26 2024 13:55:17. | |
fiddle.rb | File | 2162 bytes | June 26 2024 13:55:18. | |
fileutils.rb | File | 49416 bytes | June 26 2024 13:55:17. | |
find.rb | File | 2526 bytes | June 26 2024 13:55:18. | |
forwardable.rb | File | 9191 bytes | June 26 2024 13:55:17. | |
getoptlong.rb | File | 15821 bytes | June 26 2024 13:55:18. | |
ipaddr.rb | File | 19989 bytes | June 26 2024 13:55:17. | |
json.rb | File | 19759 bytes | June 26 2024 13:55:18. | |
kconv.rb | File | 5861 bytes | June 26 2024 13:55:18. | |
logger.rb | File | 16880 bytes | June 26 2024 13:55:18. | |
matrix.rb | File | 63317 bytes | June 26 2024 13:55:18. | |
mkmf.rb | File | 88664 bytes | June 26 2024 13:55:18. | |
monitor.rb | File | 6920 bytes | June 26 2024 13:55:17. | |
mutex_m.rb | File | 2282 bytes | June 26 2024 13:55:18. | |
objspace.rb | File | 2728 bytes | June 26 2024 13:55:18. | |
observer.rb | File | 6532 bytes | June 26 2024 13:55:18. | |
open-uri.rb | File | 25330 bytes | June 26 2024 13:55:18. | |
open3.rb | File | 22456 bytes | June 26 2024 13:55:18. | |
openssl.rb | File | 1086 bytes | June 26 2024 13:55:18. | |
optionparser.rb | File | 59 bytes | June 26 2024 13:55:18. | |
optparse.rb | File | 61784 bytes | June 26 2024 13:55:17. | |
ostruct.rb | File | 12682 bytes | June 26 2024 13:55:17. | |
pathname.rb | File | 16856 bytes | June 26 2024 13:55:18. | |
pp.rb | File | 16226 bytes | June 26 2024 13:55:18. | |
prettyprint.rb | File | 16281 bytes | June 26 2024 13:55:18. | |
prime.rb | File | 15495 bytes | June 26 2024 13:55:18. | |
pstore.rb | File | 15084 bytes | June 26 2024 13:55:18. | |
psych.rb | File | 22937 bytes | June 26 2024 13:55:17. | |
racc.rb | File | 137 bytes | June 26 2024 13:55:18. | |
readline.rb | File | 113 bytes | June 26 2024 13:55:18. | |
reline.rb | File | 14231 bytes | June 26 2024 13:55:18. | |
resolv-replace.rb | File | 1805 bytes | June 26 2024 13:55:18. | |
resolv.rb | File | 75959 bytes | June 26 2024 13:55:18. | |
ripper.rb | File | 2494 bytes | June 26 2024 13:55:18. | |
securerandom.rb | File | 9070 bytes | June 26 2024 13:55:17. | |
set.rb | File | 19886 bytes | June 26 2024 13:55:18. | |
shellwords.rb | File | 7259 bytes | June 26 2024 13:55:18. | |
singleton.rb | File | 4178 bytes | June 26 2024 13:55:18. | |
socket.rb | File | 44702 bytes | June 26 2024 13:55:18. | |
tempfile.rb | File | 12728 bytes | June 26 2024 13:55:18. | |
time.rb | File | 24852 bytes | June 26 2024 13:55:18. | |
timeout.rb | File | 4096 bytes | June 26 2024 13:55:18. | |
tmpdir.rb | File | 4501 bytes | June 26 2024 13:55:18. | |
tracer.rb | File | 6660 bytes | June 26 2024 13:55:17. | |
tsort.rb | File | 14642 bytes | June 26 2024 13:55:18. | |
un.rb | File | 10357 bytes | June 26 2024 13:55:18. | |
uri.rb | File | 3111 bytes | June 26 2024 13:55:18. | |
weakref.rb | File | 1493 bytes | June 26 2024 13:55:18. | |
yaml.rb | File | 1841 bytes | June 26 2024 13:55:18. |
# 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 VERSION = "0.1.1" # 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