Sha256: d8f6fa9e8073a9cbc6688e39d97105c5510c5ad3a738761652c8595bf1d84bda
Contents?: true
Size: 490 Bytes
Versions: 4
Compression:
Stored size: 490 Bytes
Contents
require 'thread' module WorkflowRb class SingleNodeLockProvider def initialize @semaphore = Mutex.new @named_locks = [] end def acquire_lock(id) @semaphore.synchronize do if @named_locks.include?(id) return false end @named_locks << id return true end end def release_lock(id) @semaphore.synchronize do @named_locks.delete(id) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems