Files

Class/Module Index [+]

Quicksearch

Concurrent::ThreadSafe::Util

@!visibility private


@!visibility private


@!visibility private


@!visibility private


@!visibility private


@!visibility private

Public Class Methods

allocate() click to toggle source
# File lib/concurrent/thread_safe/util/array_hash_rbx.rb, line 13
def self.allocate
  obj = super
  obj.send(:_mon_initialize)
  obj
end
make_synchronized_on_rbx(klass) click to toggle source
# File lib/concurrent/thread_safe/util/array_hash_rbx.rb, line 6
def self.make_synchronized_on_rbx(klass)
  klass.class_eval do
    private
    def _mon_initialize
      @_monitor = Monitor.new unless @_monitor # avoid double initialisation
    end

    def self.allocate
      obj = super
      obj.send(:_mon_initialize)
      obj
    end
  end

  klass.superclass.instance_methods(false).each do |method|
    klass.class_eval             def #{method}(*args)              @_monitor.synchronize { super }            end, __FILE__, __LINE__ + 1
  end
end

Public Instance Methods

_mon_initialize() click to toggle source
# File lib/concurrent/thread_safe/util/array_hash_rbx.rb, line 9
def _mon_initialize
  @_monitor = Monitor.new unless @_monitor # avoid double initialisation
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.