Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 13.59.58.185
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/ruby19/lib64/ruby/1.9.1/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/ruby19/lib64/ruby/1.9.1/weakref.rb
require "delegate"
require 'thread'

# Weak Reference class that allows a referenced object to be
# garbage-collected.  A WeakRef may be used exactly like the object it
# references.
#
# Usage:
#
#   foo = Object.new
#   foo = Object.new
#   p foo.to_s                  # original's class
#   foo = WeakRef.new(foo)
#   p foo.to_s                  # should be same class
#   ObjectSpace.garbage_collect
#   p foo.to_s                  # should raise exception (recycled)

class WeakRef < Delegator

  ##
  # RefError is raised when a referenced object has been recycled by the
  # garbage collector

  class RefError < StandardError
  end

  @@id_map =  {}                # obj -> [ref,...]
  @@id_rev_map =  {}            # ref -> obj
  @@mutex = Mutex.new
  @@final = lambda {|id|
    @@mutex.synchronize {
      rids = @@id_map[id]
      if rids
        for rid in rids
          @@id_rev_map.delete(rid)
        end
        @@id_map.delete(id)
      end
      rid = @@id_rev_map[id]
      if rid
        @@id_rev_map.delete(id)
        @@id_map[rid].delete(id)
        @@id_map.delete(rid) if @@id_map[rid].empty?
      end
    }
  }

  ##
  # Creates a weak reference to +orig+

  def initialize(orig)
    @__id = orig.object_id
    ObjectSpace.define_finalizer orig, @@final
    ObjectSpace.define_finalizer self, @@final
    @@mutex.synchronize {
      @@id_map[@__id] = [] unless @@id_map[@__id]
    }
    @@id_map[@__id].push self.object_id
    @@id_rev_map[self.object_id] = @__id
    super
  end

  def __getobj__ # :nodoc:
    unless @@id_rev_map[self.object_id] == @__id
      Kernel::raise RefError, "Invalid Reference - probably recycled", Kernel::caller(2)
    end
    begin
      ObjectSpace._id2ref(@__id)
    rescue RangeError
      Kernel::raise RefError, "Invalid Reference - probably recycled", Kernel::caller(2)
    end
  end

  def __setobj__(obj) # :nodoc:
  end

  ##
  # Returns true if the referenced object is still alive.

  def weakref_alive?
    @@id_rev_map[self.object_id] == @__id
  end
end

if __FILE__ == $0
#  require 'thread'
  foo = Object.new
  p foo.to_s                    # original's class
  foo = WeakRef.new(foo)
  p foo.to_s                    # should be same class
  ObjectSpace.garbage_collect
  ObjectSpace.garbage_collect
  p foo.to_s                    # should raise exception (recycled)
end

Youez - 2016 - github.com/yon3zu
LinuXploit