module EventMachine

def self.fiber_run(blk=nil, tail=nil, &block)

def self.fiber_run(blk=nil, tail=nil, &block)
  context = Proc.new{ Fiber.new{ (b = blk || block) and b.call }.resume }
  self.run(context, tail)
end