Class: Puppet::Util::Pidlock
Instance Method Summary collapse
- #file_path ⇒ Object
-
#initialize(lockfile) ⇒ Pidlock
constructor
A new instance of Pidlock.
- #lock ⇒ Object
- #lock_pid ⇒ Object
- #locked? ⇒ Boolean
- #mine? ⇒ Boolean
- #unlock ⇒ Object
Constructor Details
Instance Method Details
#file_path ⇒ Object
42 43 44 |
# File 'lib/puppet/util/pidlock.rb', line 42 def file_path @lockfile.file_path end |
#lock ⇒ Object
19 20 21 22 23 |
# File 'lib/puppet/util/pidlock.rb', line 19 def lock return mine? if locked? @lockfile.lock(Process.pid) end |
#lock_pid ⇒ Object
33 34 35 36 37 38 39 40 |
# 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? ⇒ Boolean
10 11 12 13 |
# File 'lib/puppet/util/pidlock.rb', line 10 def locked? clear_if_stale @lockfile.locked? end |
#mine? ⇒ Boolean
15 16 17 |
# File 'lib/puppet/util/pidlock.rb', line 15 def mine? Process.pid == lock_pid end |
#unlock ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/puppet/util/pidlock.rb', line 25 def unlock if mine? return @lockfile.unlock else false end end |