|
|
APR::ThreadMutex - Perl API for APR thread mutexES
use APR::ThreadMutex ();
my $mutex = APR::ThreadMutex->new($r->pool); $mutex->lock; $mutex->unlock; $mutex->trylock;
APR::ThreadMutex
interfaces APR thread mutexes.
APR::ThreadMutex
provides the following functions and/or methods:
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();
$mutex
( APR::ThreadMutex object|docs::2.0::api::APR::ThreadMutex
)
the mutex to destroy.
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();
$mutex
( APR::ThreadMutex object|docs::2.0::api::APR::ThreadMutex
)
the mutex on which to acquire the lock.
$ret
( integer )
new
Create a new mutex
my $mutex = APR::ThreadMutex->new($p);
APR::ThreadMutex
( class name )
$p
( APR::Pool object|docs::2.0::api::APR::Pool
)
$mutex
( APR::ThreadMutex object|docs::2.0::api::APR::ThreadMutex
)
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
( APR::ThreadMutex object|docs::2.0::api::APR::ThreadMutex
)
$ret
( APR::Pool object|docs::2.0::api::APR::Pool
)
apr_pool_t the pool
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();
$mutex
( APR::ThreadMutex object|docs::2.0::api::APR::ThreadMutex
)
the mutex on which to attempt the lock acquiring.
$ret
(integer)
unlock
META: Autogenerated - needs to be reviewed/completed
Release the lock for the given mutex.
$ret = $mutex->unlock();
$mutex
( APR::ThreadMutex object|docs::2.0::api::APR::ThreadMutex
)
the mutex from which to release the lock.
$ret
( integer )
mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.