# File lib/mysql2/em_fiber.rb, line 10 def query(sql, opts={}) if ::EM.reactor_running? deferable = super(sql, opts) fiber = ::Fiber.current deferable.callback do |result| fiber.resume(result) end deferable.errback do |err| fiber.resume(err) end ::Fiber.yield.tap do |result| raise result if result.is_a?(::Exception) end else super(sql, opts) end end