SILENT KILLERPanel

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 ]

Files and Folders in: //opt//alt/ruby27//share/ruby

NameTypeSizeLast ModifiedActions
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.

Reading File: //opt//alt/ruby27//share/ruby/timeout.rb

# 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