NAME
Proc::Lock - lock interface module
SYNOPSIS
use Proc::Lock;
my $lock = new Proc::Lock ( ... );
$lock->set ();
die "locked" if $lock->isSet ();
$lock->unset ();
DESCRIPTION
Generic lock module. You must subclass this class and overwrite set, unset, isSet and new (possible) for do your work
new
Construct new lock object. You can setup parameters:
ProcessName => $name of process for make lock file name Pid => $ pid of process for make lock file name HostName => $ name of host for make lock file name Wait => wait for lock is clean and continue Timeout => limit of time of wait of lock clean NoUnset => not unset lock at unset operation
my $lock = new Proc::Lock... ( ProcessName => $0,
Pid => $$,
Hostname => gethostname(),
Wait => 1,
NoUnset => 1,
Timeout => 30 );
$lock->set || die "already runned";
set
setup lock. Return true if success
unset
unset lock, return true if success
isSet
return true if lock is up
DESTROY
destroy lock object
log
Return log object
_set _unset _isSet
private methods, You must put your functionality to this methods. The real methods ( set, unset, isSet ) call this method.