# File lib/mysql2/em.rb, line 43 def query(sql, opts={}) if ::EM.reactor_running? super(sql, opts.merge(:async => true)) deferable = ::EM::DefaultDeferrable.new @watch = ::EM.watch(self.socket, Watcher, self, deferable) @watch.notify_readable = true deferable else super(sql, opts) end end