module Dalli::Threadsafe

Make Dalli threadsafe by using a lock around all public server methods.

Dalli::Server.extend(Dalli::Threadsafe)

Public Class Methods

extended(obj) click to toggle source
# File lib/dalli/options.rb, line 13
def self.extended(obj)
  obj.init_threadsafe
end

Public Instance Methods

alive?() click to toggle source
Calls superclass method
# File lib/dalli/options.rb, line 23
def alive?
  @lock.synchronize do
    super
  end
end
close() click to toggle source
Calls superclass method
# File lib/dalli/options.rb, line 29
def close
  @lock.synchronize do
    super
  end
end
init_threadsafe() click to toggle source
# File lib/dalli/options.rb, line 61
def init_threadsafe
  @lock = Monitor.new
end
lock!() click to toggle source
# File lib/dalli/options.rb, line 53
def lock!
  @lock.mon_enter
end
multi_response_abort() click to toggle source
Calls superclass method
# File lib/dalli/options.rb, line 47
def multi_response_abort
  @lock.synchronize do
    super
  end
end
multi_response_nonblock() click to toggle source
Calls superclass method
# File lib/dalli/options.rb, line 41
def multi_response_nonblock
  @lock.synchronize do
    super
  end
end
multi_response_start() click to toggle source
Calls superclass method
# File lib/dalli/options.rb, line 35
def multi_response_start
  @lock.synchronize do
    super
  end
end
request(op, *args) click to toggle source
Calls superclass method
# File lib/dalli/options.rb, line 17
def request(op, *args)
  @lock.synchronize do
    super
  end
end
unlock!() click to toggle source
# File lib/dalli/options.rb, line 57
def unlock!
  @lock.mon_exit
end