NAME
ExclusiveLock::Guard - lexically-scoped lock management
SYNOPSIS
use ExclusiveLock::Guard;
sub blocking_transaction {
my $lock = ExclusiveLock::Guard->new('/tmp/foo.lock')
or die 'lock error: ' . ExclusiveLock::Guard->errstr;
# inner of lock
}
blocking_transaction();
# outer of lock
for non-blocking
sub nonblocking_transaction {
my $lock = ExclusiveLock::Guard->new('/tmp/foo.lock', nonblocking => 1 )
or die 'lock error: ' . ExclusiveLock::Guard->errstr;
unless ($lock->is_locked) {
warn 'is locked';
return;
}
# inner of lock
}
nonblocking_transaction();
# outer of lock
DESCRIPTION
ExclusiveLock::Guard is very simple lock maneger. To automatically create and remove the lock file.
AUTHOR
Kazuhiro Osawa <yappo {at} shibuya {dot} pl>
COPYRIGHT
Copyright 2012- Kazuhiro Osawa
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.