The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.