Sha256: a1540b39912e3f9f0508b720b276e0b8ae6b2a8a12dca24ef15162037311da87
Contents?: true
Size: 600 Bytes
Versions: 8
Compression:
Stored size: 600 Bytes
Contents
require 'distributed_mutex' # Simple global variable mutex, not production quality more # as a test implementation for the super class. class GlobalMutex < DistributedMutex private def get_lock if @timeout && @timeout > 1 1.upto(@timeout) do if set_global_mutex return true else sleep(1) end end end return set_global_mutex end def release_lock eval("$#{@key} = nil") true end def set_global_mutex if nil == eval("$#{@key}") eval("$#{@key} = 1") true else false end end end
Version data entries
8 entries across 8 versions & 1 rubygems