Class: Thread

Inherits:
Object show all
Defined in:
lib/contrast/extension/thread.rb

Overview

Monkey-patching Thread#initialize.

Direct Known Subclasses

Contrast::Agent::Thread

Instance Method Summary collapse

Constructor Details

#initialize(*args, &block) ⇒ Thread

Returns a new instance of Thread.



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/contrast/extension/thread.rb', line 18

def initialize *args, &block
  # Thread.current still references the original(callee) thread that is
  # instantiating this new fiber during initialization
  Contrast::Components::Scope::MONITOR.synchronize do
    if (current_context = Thread.current[:current_context])
      self[:current_context] = current_context.dup
    end

    Contrast::Components::Scope.sweep_dead_ecs
  end

  cs__initialize(*args, &block)
end

Instance Method Details

#cs__initializeObject



16
# File 'lib/contrast/extension/thread.rb', line 16

alias_method :cs__initialize, :initialize