class EventMachine::SpawnedProcess
Support for Erlang-style processes.
def notify *x
def notify *x me = self EM.next_tick { # A notification executes in the context of this # SpawnedProcess object. That makes self and notify # work as one would expect. # y = me.call(*x) if y and y.respond_to?(:pull_out_yield_block) a,b = y.pull_out_yield_block set_receiver a self.notify if b end } end
def set_receiver blk
def set_receiver blk (class << self ; self ; end).class_eval do remove_method :call if method_defined? :call define_method :call, blk end end