class Puppet::Util::Pidlock

Public Instance Methods

file_path() click to toggle source
# File lib/puppet/util/pidlock.rb, line 42
def file_path
  @lockfile.file_path
end
lock() click to toggle source
# File lib/puppet/util/pidlock.rb, line 19
def lock
  return mine? if locked?

  @lockfile.lock(Process.pid)
end
lock_pid() click to toggle source
# File lib/puppet/util/pidlock.rb, line 33
def lock_pid
  pid = @lockfile.lock_data
  begin
    Integer(pid)
  rescue ArgumentError, TypeError
    nil
  end
end
locked?() click to toggle source
# File lib/puppet/util/pidlock.rb, line 10
def locked?
  clear_if_stale
  @lockfile.locked?
end
mine?() click to toggle source
# File lib/puppet/util/pidlock.rb, line 15
def mine?
  Process.pid == lock_pid
end
unlock() click to toggle source
# File lib/puppet/util/pidlock.rb, line 25
def unlock
  if mine?
    return @lockfile.unlock
  else
    false
  end
end

Public Class Methods

new(lockfile) click to toggle source
# File lib/puppet/util/pidlock.rb, line 6
def initialize(lockfile)
  @lockfile = Puppet::Util::Lockfile.new(lockfile)
end