# File lib/rubinius/actor.rb, line 195 def initialize @lock = Rubinius::Channel.new @filter = nil @ready = Rubinius::Channel.new @action = nil @message = nil @mailbox = [] @interrupts = [] @links = [] @alive = true @exit_reason = nil @trap_exit = false @thread = Thread.current @lock << nil if block_given? watchdog { yield self } else Thread.new { watchdog { @thread.join } } end end