module Dalli::Threadsafe

def self.extended(obj)

def self.extended(obj)
  obj.init_threadsafe
end

def alive?

def alive?
  @lock.synchronize do
    super
  end
end

def close

def close
  @lock.synchronize do
    super
  end
end

def init_threadsafe

def init_threadsafe
  @lock = Monitor.new
end

def lock!

def lock!
  @lock.mon_enter
end

def pipeline_abort

def pipeline_abort
  @lock.synchronize do
    super
  end
end

def pipeline_next_responses

def pipeline_next_responses
  @lock.synchronize do
    super
  end
end

def pipeline_response_setup

def pipeline_response_setup
  @lock.synchronize do
    super
  end
end

def request(opcode, *args)

def request(opcode, *args)
  @lock.synchronize do
    super
  end
end

def unlock!

def unlock!
  @lock.mon_exit
end