Class: ProcessShared::AbstractSemaphore

Inherits:
Object
  • Object
show all
Includes:
PSem, WithSelf
Defined in:
lib/process_shared/abstract_semaphore.rb

Direct Known Subclasses

Semaphore

Class Method Summary collapse

Methods included from PSem

psem_error_check

Methods included from DefineSingletonMethod

#define_singleton_method

Methods included from WithSelf

#with_self

Class Method Details

.gen_name(middle, name = nil) ⇒ Object

Generate a name for a semaphore.



12
13
14
15
16
17
18
19
20
# File 'lib/process_shared/abstract_semaphore.rb', line 12

def self.gen_name(middle, name = nil)
  if name
    name
  else
    @count ||= 0
    @count += 1
    "ps-#{middle}-#{Process.pid}-#{@count}"
  end
end

.make_finalizer(name) ⇒ Object



22
23
24
# File 'lib/process_shared/abstract_semaphore.rb', line 22

def self.make_finalizer(name)
  proc { ProcessShared::PSem.psem_unlink(name, nil) }
end