=head1 NAME
APR::ThreadMutex - Perl API for APR thread mutexes
=head1 Synopsis
use APR::ThreadMutex ();
my $mutex = APR::ThreadMutex->new($r->pool);
$mutex->lock;
$mutex->unlock;
$mutex->trylock;
=head1 Description
C interfaces APR thread mutexes.
=head1 API
C provides the following functions and/or methods:
=head1 Unsupported API
C also provides auto-generated Perl interface for a
few other methods which aren't tested at the moment and therefore
their API is a subject to change. These methods will be finalized
later as a need arises. If you want to rely on any of the following
methods please contact the L so we can help each other take the steps necessary
to shift the method to an officially supported API.
=head2 C
META: Autogenerated - needs to be reviewed/completed
Destroy the mutex and free the memory associated with the lock.
$mutex->DESTROY();
=over 4
=item obj: C<$mutex>
( C> )
the mutex to destroy.
=item ret: no return value
=item since: subject to change
=back
=head2 C
META: Autogenerated - needs to be reviewed/completed
Acquire the lock for the given mutex. If the mutex is already locked,
the current thread will be put to sleep until the lock becomes available.
$ret = $mutex->lock();
=over 4
=item obj: C<$mutex>
( C> )
the mutex on which to acquire the lock.
=item ret: C<$ret> ( integer )
=item since: subject to change
=back
=head2 C
Create a new mutex
my $mutex = APR::ThreadMutex->new($p);
=over
=item obj: C ( class name )
=item arg1: C<$p>
( C> )
=item ret: C<$mutex>
( C> )
=item since: subject to change
=back
=head2 C
META: Autogenerated - needs to be reviewed/completed
META: should probably be renamed to pool(), like all other pool
accessors
Get the pool used by this thread_mutex.
$ret = $obj->pool_get();
=over 4
=item obj: C<$obj>
( C> )
=item ret: C<$ret>
( C> )
apr_pool_t the pool
=item since: subject to change
=back
=head2 C
META: Autogenerated - needs to be reviewed/completed
Attempt to acquire the lock for the given mutex. If the mutex has already
been acquired, the call returns immediately with APR_EBUSY. Note: it
is important that the APR_STATUS_IS_EBUSY(s) macro be used to determine
if the return value was APR_EBUSY, for portability reasons.
$ret = $mutex->trylock();
=over 4
=item obj: C<$mutex>
( C> )
the mutex on which to attempt the lock acquiring.
=item ret: C<$ret>
(integer)
=item since: subject to change
=back
=head2 C
META: Autogenerated - needs to be reviewed/completed
Release the lock for the given mutex.
$ret = $mutex->unlock();
=over 4
=item obj: C<$mutex>
( C> )
the mutex from which to release the lock.
=item ret: C<$ret> ( integer )
=item since: subject to change
=back
=head1 See Also
L.
=head1 Copyright
mod_perl 2.0 and its core modules are copyrighted under
The Apache Software License, Version 2.0.
=head1 Authors
L.
=cut