NAME
Qmail::Control::Lock - Perl extension for locking Qmail's control file subsystem.
SYNOPSIS
use Qmail::Control::Lock;
my $lock = Qmail::Control::Lock->new();
# Get a shared lock on the control subsystem.
$lock->lock_shared() or die "Couldn't get sh lock: $!\n";
# Get an exclusive lock on the control subsystem.
$lock2->lock_exclusive() or die "Couldn't get ex lock: $!\n";
# Change a shared lock to an exclusive lock.
$lock->relock('exclusive') or die "Couldn't change sh to ex lock: $!\n";
# Unlock the control subsystem.
$lock->unlock();
$lock2->unlock();
DESCRIPTION
Qmail::Control::Lock provides and interface for locking Qmail's control file subsystem.
Dan Bernstein does not endorse this module or this locking method, and as far as I know, only Qmail::Control::Lock uses it.
EXPORTS
None by default.
METHODS
- Qmail::Control::Lock->new()
-
Creates a new Qmail::Control::Lock object.
Returns a reference to the newly created object.
Takes no arguments, currently. This may change, but the argumentless form will always exist.
-
Gets a shared lock on the Qmail control file subsystem.
Returns true on success or undef on a serious error.
Takes no arguments.
- $lock->lock_exclusive();
-
Gets an exclusive lock on the Qmail control file subsystem.
Returns true on success or undef on a serious error.
Takes no arguments.
- $lock->relock();
-
Changes one type of lock (either shared or exclusive) into another.
Returns true on success or undef on a serious error.
Takes a single argument, either 'shared' or 'exclusive', which indicates which type of lock to engage. If you pass 'shared', and the lock is already 'shared', this is a no-op.
- $lock->unlock();
-
Unlocks the Qmail control file subsystem.
Returns nothing.
Takes no arguments.
AUTHOR
Paul Prince, <princep@charter.net>