class Redis::Client::ThreadSafe

def ensure_connected(&block)

def ensure_connected(&block)
  super do
    synchronize(&block)
  end
end

def initialize(*args)

def initialize(*args)
  require "monitor"
  super(*args)
  @mutex = ::Monitor.new
end

def synchronize(&block)

def synchronize(&block)
  @mutex.synchronize(&block)
end