module Memcached
def connect(servers)
def connect(servers) Memcached.servers = servers f = Fiber.current @w = EM::Timer.new(10.0) { f.resume :error } @t = EM::PeriodicTimer.new(0.01) do if Memcached.usable? @w.cancel @t.cancel f.resume(self) end end r = Fiber.yield (r == :error) ? (raise Exception.new('Cannot connect to memcached server')) : r end