Sha256: 450607448a7d5f8c2378f0d3f772aee25fdd01986fa918437fae09fbc1f4a79a
Contents?: true
Size: 953 Bytes
Versions: 15
Compression:
Stored size: 953 Bytes
Contents
# frozen_string_literal: true require 'monitor' module Dalli # Make Dalli threadsafe by using a lock around all # public server methods. # # Dalli::Protocol::Binary.extend(Dalli::Threadsafe) # module Threadsafe def self.extended(obj) obj.init_threadsafe end def request(opcode, *args) @lock.synchronize do super end end def alive? @lock.synchronize do super end end def close @lock.synchronize do super end end def pipeline_response_setup @lock.synchronize do super end end def pipeline_next_responses @lock.synchronize do super end end def pipeline_abort @lock.synchronize do super end end def lock! @lock.mon_enter end def unlock! @lock.mon_exit end def init_threadsafe @lock = Monitor.new end end end
Version data entries
15 entries across 15 versions & 1 rubygems