=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