Linux premium71.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
LiteSpeed
Server IP : 198.187.29.8 & Your IP : 3.148.108.24
Domains :
Cant Read [ /etc/named.conf ]
User : cleahvkv
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
opt /
alt /
ruby33 /
share /
ruby /
Delete
Unzip
Name
Size
Permission
Date
Action
bigdecimal
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
cgi
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
csv
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
did_you_mean
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
digest
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
drb
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
erb
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
error_highlight
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
fiddle
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
forwardable
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
io
[ DIR ]
drwxr-xr-x
2025-01-26 18:06
json
[ DIR ]
drwxr-xr-x
2025-02-06 11:33
logger
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
net
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
objspace
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
open3
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
openssl
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
optparse
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
prism
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
psych
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
random
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
reline
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
rinda
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
ripper
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
ruby_vm
[ DIR ]
drwxr-xr-x
2024-06-12 10:36
set
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
syntax_suggest
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
syslog
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
unicode_normalize
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
uri
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
vendor_ruby
[ DIR ]
drwxr-xr-x
2025-01-26 18:06
yaml
[ DIR ]
drwxr-xr-x
2025-02-06 11:32
English.rb
5.54
KB
-rw-r--r--
2025-01-26 18:06
abbrev.rb
3.47
KB
-rw-r--r--
2025-01-26 18:06
base64.rb
13.22
KB
-rw-r--r--
2025-01-26 18:06
benchmark.rb
18.42
KB
-rw-r--r--
2025-01-26 18:06
bigdecimal.rb
130
B
-rw-r--r--
2025-01-26 18:06
bundled_gems.rb
6.86
KB
-rw-r--r--
2025-01-26 18:06
cgi.rb
9.83
KB
-rw-r--r--
2025-01-26 18:06
coverage.rb
368
B
-rw-r--r--
2025-01-26 18:06
csv.rb
92.46
KB
-rw-r--r--
2025-01-26 18:06
date.rb
1.17
KB
-rw-r--r--
2025-01-26 18:06
delegate.rb
11.68
KB
-rw-r--r--
2025-01-26 18:06
did_you_mean.rb
5.36
KB
-rw-r--r--
2025-01-26 18:06
digest.rb
3.3
KB
-rw-r--r--
2025-01-26 18:06
drb.rb
50
B
-rw-r--r--
2025-01-26 18:06
erb.rb
14.53
KB
-rw-r--r--
2025-01-26 18:06
error_highlight.rb
84
B
-rw-r--r--
2025-01-26 18:06
expect.rb
2.19
KB
-rw-r--r--
2025-01-26 18:06
fiddle.rb
2.88
KB
-rw-r--r--
2025-01-26 18:06
fileutils.rb
78.69
KB
-rw-r--r--
2025-01-26 18:06
find.rb
2.52
KB
-rw-r--r--
2025-01-26 18:06
forwardable.rb
9.03
KB
-rw-r--r--
2025-01-26 18:06
getoptlong.rb
20.26
KB
-rw-r--r--
2025-01-26 18:06
ipaddr.rb
20.93
KB
-rw-r--r--
2025-01-26 18:06
json.rb
19.62
KB
-rw-r--r--
2025-01-26 18:06
kconv.rb
5.72
KB
-rw-r--r--
2025-01-26 18:06
logger.rb
22.03
KB
-rw-r--r--
2025-01-26 18:06
mkmf.rb
88.69
KB
-rw-r--r--
2025-01-26 18:06
monitor.rb
6.75
KB
-rw-r--r--
2025-01-26 18:06
mutex_m.rb
2.36
KB
-rw-r--r--
2025-01-26 18:06
objspace.rb
4.14
KB
-rw-r--r--
2025-01-26 18:06
observer.rb
6.38
KB
-rw-r--r--
2025-01-26 18:06
open-uri.rb
25.84
KB
-rw-r--r--
2025-01-26 18:06
open3.rb
47.51
KB
-rw-r--r--
2025-01-26 18:06
openssl.rb
1.03
KB
-rw-r--r--
2025-01-26 18:06
optionparser.rb
59
B
-rw-r--r--
2025-01-26 18:06
optparse.rb
61.82
KB
-rw-r--r--
2025-01-26 18:06
ostruct.rb
14.22
KB
-rw-r--r--
2025-01-26 18:06
pathname.rb
16.85
KB
-rw-r--r--
2025-01-26 18:06
pp.rb
17.24
KB
-rw-r--r--
2025-01-26 18:06
prettyprint.rb
15.93
KB
-rw-r--r--
2025-01-26 18:06
prism.rb
3.17
KB
-rw-r--r--
2025-01-26 18:06
pstore.rb
20.36
KB
-rw-r--r--
2025-01-26 18:06
psych.rb
24.44
KB
-rw-r--r--
2025-01-26 18:06
readline.rb
215
B
-rw-r--r--
2025-01-26 18:06
reline.rb
14.7
KB
-rw-r--r--
2025-01-26 18:06
resolv-replace.rb
1.76
KB
-rw-r--r--
2025-01-26 18:06
resolv.rb
85.03
KB
-rw-r--r--
2025-01-26 18:06
ripper.rb
2.44
KB
-rw-r--r--
2025-01-26 18:06
securerandom.rb
2.06
KB
-rw-r--r--
2025-01-26 18:06
set.rb
24.94
KB
-rw-r--r--
2025-01-26 18:06
shellwords.rb
7.11
KB
-rw-r--r--
2025-01-26 18:06
singleton.rb
3.94
KB
-rw-r--r--
2025-01-26 18:06
socket.rb
44.04
KB
-rw-r--r--
2025-01-26 18:06
syntax_suggest.rb
74
B
-rw-r--r--
2025-01-26 18:06
tempfile.rb
14.73
KB
-rw-r--r--
2025-01-26 18:06
time.rb
23.74
KB
-rw-r--r--
2025-01-26 18:06
timeout.rb
5.69
KB
-rw-r--r--
2025-01-26 18:06
tmpdir.rb
4.93
KB
-rw-r--r--
2025-01-26 18:06
tsort.rb
14.29
KB
-rw-r--r--
2025-01-26 18:06
un.rb
11.17
KB
-rw-r--r--
2025-01-26 18:06
uri.rb
3.06
KB
-rw-r--r--
2025-01-26 18:06
weakref.rb
1.36
KB
-rw-r--r--
2025-01-26 18:06
yaml.rb
2.13
KB
-rw-r--r--
2025-01-26 18:06
Save
Rename
# frozen_string_literal: true # 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.4.1" # Internal error raised to when a timeout is triggered. class ExitException < Exception def exception(*) self end end # Raised by Timeout.timeout when the block times out. class Error < RuntimeError def self.handle_timeout(message) exc = ExitException.new(message) begin yield exc rescue ExitException => e raise new(message) if exc.equal?(e) raise end end end # :stopdoc: CONDVAR = ConditionVariable.new QUEUE = Queue.new QUEUE_MUTEX = Mutex.new TIMEOUT_THREAD_MUTEX = Mutex.new @timeout_thread = nil private_constant :CONDVAR, :QUEUE, :QUEUE_MUTEX, :TIMEOUT_THREAD_MUTEX class Request attr_reader :deadline def initialize(thread, timeout, exception_class, message) @thread = thread @deadline = GET_TIME.call(Process::CLOCK_MONOTONIC) + timeout @exception_class = exception_class @message = message @mutex = Mutex.new @done = false # protected by @mutex end def done? @mutex.synchronize do @done end end def expired?(now) now >= @deadline end def interrupt @mutex.synchronize do unless @done @thread.raise @exception_class, @message @done = true end end end def finished @mutex.synchronize do @done = true end end end private_constant :Request def self.create_timeout_thread watcher = Thread.new do requests = [] while true until QUEUE.empty? and !requests.empty? # wait to have at least one request req = QUEUE.pop requests << req unless req.done? end closest_deadline = requests.min_by(&:deadline).deadline now = 0.0 QUEUE_MUTEX.synchronize do while (now = GET_TIME.call(Process::CLOCK_MONOTONIC)) < closest_deadline and QUEUE.empty? CONDVAR.wait(QUEUE_MUTEX, closest_deadline - now) end end requests.each do |req| req.interrupt if req.expired?(now) end requests.reject!(&:done?) end end ThreadGroup::Default.add(watcher) unless watcher.group.enclosed? watcher.name = "Timeout stdlib thread" watcher.thread_variable_set(:"\0__detached_thread__", true) watcher end private_class_method :create_timeout_thread def self.ensure_timeout_thread_created unless @timeout_thread and @timeout_thread.alive? TIMEOUT_THREAD_MUTEX.synchronize do unless @timeout_thread and @timeout_thread.alive? @timeout_thread = create_timeout_thread end end end end # We keep a private reference so that time mocking libraries won't break # Timeout. GET_TIME = Process.method(:clock_gettime) private_constant :GET_TIME # :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. # # If a scheduler is defined, it will be used to handle the timeout by invoking # Scheduler#timeout_after. # # 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, &block) #:yield: +sec+ return yield(sec) if sec == nil or sec.zero? message ||= "execution expired" if Fiber.respond_to?(:current_scheduler) && (scheduler = Fiber.current_scheduler)&.respond_to?(:timeout_after) return scheduler.timeout_after(sec, klass || Error, message, &block) end Timeout.ensure_timeout_thread_created perform = Proc.new do |exc| request = Request.new(Thread.current, sec, exc, message) QUEUE_MUTEX.synchronize do QUEUE << request CONDVAR.signal end begin return yield(sec) ensure request.finished end end if klass perform.call(klass) else Error.handle_timeout(message, &perform) end end module_function :timeout end