Jeffrey Ryan Thalhammer > Pinto > Pinto::Locker

Download:
Pinto-0.09993.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.09993   Source  

NAME ^

Pinto::Locker - Manage locks to synchronize concurrent operations

VERSION ^

version 0.09993

DESCRIPTION ^

METHODS ^

lock

Attempts to get a lock on a Pinto repository. If the repository is already locked, we will attempt to contact the current lock holder and make sure they are really alive. If not, then we will steal the lock. If they are, then we patiently wait until we timeout, which is about 60 seconds.

unlock

Releases the lock on the Pinto repository so that other processes can get to work.

In many situations, a Pinto repository is a shared resource. At any given moment, multiple processes may be trying to add distributions, remove packages, or pull files from a mirror. To keep things working properly, we can only let one process fiddle with the repository at a time. This module manages a lock file for that purpose.

Supposedly, this does work on NFS. But it cannot steal the lock from a dead process if that process was not running on the same host.

AUTHOR ^

Jeffrey Ryan Thalhammer <jeff@stratopan.com>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2014 by Jeffrey Ryan Thalhammer.

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: