APR::ThreadMutex - Perl API for APR thread mutexes
use APR::ThreadMutex (); my $mutex = APR::ThreadMutex->new($r->pool); $mutex->lock; $mutex->unlock; $mutex->trylock;
User Contributed Perl Documentation build::sparcv9::docs::api::APR::ThreadMutex(3) NAME APR::ThreadMutex - Perl API for APR thread mutexes Synopsis use APR::ThreadMutex (); my $mutex = APR::ThreadMutex->new($r->pool); $mutex->lock; $mutex->unlock; $mutex->trylock; Description "APR::ThreadMutex" interfaces APR thread mutexes. API "APR::ThreadMutex" provides the following functions and/or methods: Unsupported API "APR::ThreadMutex" 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 the mod_perl development mailing list so we can help each other take the steps necessary to shift the method to an officially supported API. "DESTROY" META: Autogenerated - needs to be reviewed/completed Destroy the mutex and free the memory associated with the lock. $mutex->DESTROY(); obj: $mutex ( "APR::ThreadMutex object" ) the mutex to destroy. ret: no return value since: subject to change "lock" 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(); obj: $mutex ( "APR::ThreadMutex object" ) the mutex on which to acquire the lock. ret: $ret ( integer ) since: subject to change "new" Create a new mutex my $mutex = APR::ThreadMutex->new($p); obj: "APR::ThreadMutex" ( class name ) arg1: $p ( "APR::Pool object" ) ret: $mutex ( "APR::ThreadMutex object" ) since: subject to change "pool_get" 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(); obj: $obj ( "APR::ThreadMutex object" ) ret: $ret ( "APR::Pool object" ) apr_pool_t the pool since: subject to change "trylock" 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(); obj: $mutex ( "APR::ThreadMutex object" ) the mutex on which to attempt the lock acquiring. ret: $ret (integer) since: subject to change "unlock" META: Autogenerated - needs to be reviewed/completed Release the lock for the given mutex. $ret = $mutex->unlock(); obj: $mutex ( "APR::ThreadMutex object" ) the mutex from which to release the lock. ret: $ret ( integer ) since: subject to change See Also mod_perl 2.0 documentation. Copyright mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0. Authors The mod_perl development team and numerous contributors. ATTRIBUTES See attributes(7) for descriptions of the following attributes: +---------------+-----------------------------------------+ |ATTRIBUTE TYPE | ATTRIBUTE VALUE | +---------------+-----------------------------------------+ |Availability | web/server/apache-24/module/apache-perl | +---------------+-----------------------------------------+ |Stability | Uncommitted | +---------------+-----------------------------------------+ NOTES Source code for open source software components in Oracle Solaris can be found at https://www.oracle.com/downloads/opensource/solaris-source- code-downloads.html. This software was built from source available at https://github.com/oracle/solaris-userland. The original community source was downloaded from https://www.apache.org/dist/perl/mod_perl-2.0.12.tar.gz. Further information about this software can be found on the open source community website at https://perl.apache.org/. perl v5.32.0 2022-01-30 build::sparcv9::docs::api::APR::ThreadMutex(3)