# 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