Linux premium180.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
LiteSpeed
: 162.0.209.168 | : 216.73.216.187
Cant Read [ /etc/named.conf ]
8.3.30
nortrmdp
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
opt /
alt /
ruby22 /
lib64 /
ruby /
2.2.0 /
rake /
[ HOME SHELL ]
Name
Size
Permission
Action
contrib
[ DIR ]
drwxr-xr-x
ext
[ DIR ]
drwxr-xr-x
lib
[ DIR ]
drwxr-xr-x
loaders
[ DIR ]
drwxr-xr-x
alt_system.rb
3.17
KB
-rw-r--r--
application.rb
23.14
KB
-rw-r--r--
backtrace.rb
868
B
-rw-r--r--
clean.rb
1.93
KB
-rw-r--r--
cloneable.rb
418
B
-rw-r--r--
cpu_counter.rb
2.83
KB
-rw-r--r--
default_loader.rb
235
B
-rw-r--r--
dsl_definition.rb
5.64
KB
-rw-r--r--
early_time.rb
340
B
-rw-r--r--
file_creation_task.rb
670
B
-rw-r--r--
file_list.rb
12.13
KB
-rw-r--r--
file_task.rb
1.26
KB
-rw-r--r--
file_utils.rb
3.66
KB
-rw-r--r--
file_utils_ext.rb
4.05
KB
-rw-r--r--
gempackagetask.rb
144
B
-rw-r--r--
invocation_chain.rb
1.16
KB
-rw-r--r--
invocation_exception_mixin.rb
431
B
-rw-r--r--
late_time.rb
265
B
-rw-r--r--
linked_list.rb
2.27
KB
-rw-r--r--
multi_task.rb
315
B
-rw-r--r--
name_space.rb
673
B
-rw-r--r--
packagetask.rb
5.28
KB
-rw-r--r--
pathmap.rb
53
B
-rw-r--r--
phony.rb
351
B
-rw-r--r--
private_reader.rb
364
B
-rw-r--r--
promise.rb
2.28
KB
-rw-r--r--
pseudo_status.rb
375
B
-rw-r--r--
rake_module.rb
770
B
-rw-r--r--
rake_test_loader.rb
341
B
-rw-r--r--
rdoctask.rb
153
B
-rw-r--r--
ruby182_test_unit_fix.rb
897
B
-rw-r--r--
rule_recursion_overflow_error....
353
B
-rw-r--r--
runtest.rb
594
B
-rw-r--r--
scope.rb
882
B
-rw-r--r--
task.rb
11.02
KB
-rw-r--r--
task_argument_error.rb
119
B
-rw-r--r--
task_arguments.rb
2.15
KB
-rw-r--r--
task_manager.rb
8.84
KB
-rw-r--r--
tasklib.rb
618
B
-rw-r--r--
testtask.rb
5.55
KB
-rw-r--r--
thread_history_display.rb
1.11
KB
-rw-r--r--
thread_pool.rb
4.78
KB
-rw-r--r--
trace_output.rb
543
B
-rw-r--r--
version.rb
156
B
-rw-r--r--
win32.rb
1.55
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : thread_pool.rb
require 'thread' require 'set' require 'rake/promise' module Rake class ThreadPool # :nodoc: all # Creates a ThreadPool object. The +thread_count+ parameter is the size # of the pool. def initialize(thread_count) @max_active_threads = [thread_count, 0].max @threads = Set.new @threads_mon = Monitor.new @queue = Queue.new @join_cond = @threads_mon.new_cond @history_start_time = nil @history = [] @history_mon = Monitor.new @total_threads_in_play = 0 end # Creates a future executed by the +ThreadPool+. # # The args are passed to the block when executing (similarly to # Thread#new) The return value is an object representing # a future which has been created and added to the queue in the # pool. Sending #value to the object will sleep the # current thread until the future is finished and will return the # result (or raise an exception thrown from the future) def future(*args, &block) promise = Promise.new(args, &block) promise.recorder = lambda { |*stats| stat(*stats) } @queue.enq promise stat :queued, :item_id => promise.object_id start_thread promise end # Waits until the queue of futures is empty and all threads have exited. def join @threads_mon.synchronize do begin stat :joining @join_cond.wait unless @threads.empty? stat :joined rescue Exception => e stat :joined $stderr.puts e $stderr.print "Queue contains #{@queue.size} items. " + "Thread pool contains #{@threads.count} threads\n" $stderr.print "Current Thread #{Thread.current} status = " + "#{Thread.current.status}\n" $stderr.puts e.backtrace.join("\n") @threads.each do |t| $stderr.print "Thread #{t} status = #{t.status}\n" # 1.8 doesn't support Thread#backtrace $stderr.puts t.backtrace.join("\n") if t.respond_to? :backtrace end raise e end end end # Enable the gathering of history events. def gather_history #:nodoc: @history_start_time = Time.now if @history_start_time.nil? end # Return a array of history events for the thread pool. # # History gathering must be enabled to be able to see the events # (see #gather_history). Best to call this when the job is # complete (i.e. after ThreadPool#join is called). def history # :nodoc: @history_mon.synchronize { @history.dup }. sort_by { |i| i[:time] }. each { |i| i[:time] -= @history_start_time } end # Return a hash of always collected statistics for the thread pool. def statistics # :nodoc: { :total_threads_in_play => @total_threads_in_play, :max_active_threads => @max_active_threads, } end private # processes one item on the queue. Returns true if there was an # item to process, false if there was no item def process_queue_item #:nodoc: return false if @queue.empty? # Even though we just asked if the queue was empty, it # still could have had an item which by this statement # is now gone. For this reason we pass true to Queue#deq # because we will sleep indefinitely if it is empty. promise = @queue.deq(true) stat :dequeued, :item_id => promise.object_id promise.work return true rescue ThreadError # this means the queue is empty false end def safe_thread_count @threads_mon.synchronize do @threads.count end end def start_thread # :nodoc: @threads_mon.synchronize do next unless @threads.count < @max_active_threads t = Thread.new do begin while safe_thread_count <= @max_active_threads break unless process_queue_item end ensure @threads_mon.synchronize do @threads.delete Thread.current stat :ended, :thread_count => @threads.count @join_cond.broadcast if @threads.empty? end end end @threads << t stat( :spawned, :new_thread => t.object_id, :thread_count => @threads.count) @total_threads_in_play = @threads.count if @threads.count > @total_threads_in_play end end def stat(event, data=nil) # :nodoc: return if @history_start_time.nil? info = { :event => event, :data => data, :time => Time.now, :thread => Thread.current.object_id, } @history_mon.synchronize { @history << info } end # for testing only def __queue__ # :nodoc: @queue end end end
Close