Vyacheslav Matyukhin > Ubic > Ubic::SingletonLock

Download:
Ubic-1.57.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 1.57   Source  

NAME ^

Ubic::SingletonLock - lock which can be safely created several times from the same process without deadlocking

VERSION ^

version 1.57

SYNOPSIS ^

    use Ubic::SingletonLock;

    $lock = Ubic::SingletonLock->new($file);
    $lock_again = Ubic::SingletonLock->new($file); # this works, unlike Ubic::Lockf which would deadlock at this moment
    undef $lock;

METHODS ^

Ubic::SingletonLock->new($filename)
Ubic::SingletonLock->new($filename, $options)

Construct new singleton lock.

Consequent invocations with the same $filename will return the same object if previous object still exists somewhere in process memory.

Any options will be passed directly to Ubic::Lockf.

BUGS AND CAVEATS ^

This module is a part of ubic implementation and shouldn't be used in non-core code.

It passes options blindly to Ubic::Lockf, so following code will not work correctly:

    $lock = Ubic::SingletonLock->new("file", { shared => 1 });
    $lock = Ubic::SingletonLock->new("file"); # this call will just return cached shared lock again

AUTHOR ^

Vyacheslav Matyukhin <mmcleric@yandex-team.ru>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2013 by Yandex LLC.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: