mod_perl logo perl icon
previous page: APR::ThreadMutex - Perl API for APR thread mutexespage up: mod_perl 2.0 APInext page: APR::URI - Perl API for URI manipulations

APR::ThreadRWLock - Perl API for APR thread read/write locks






Embedding Perl in HTML with Mason

Embedding Perl in HTML with Mason

By Dave Rolsky, Ken Williams
mod_perl2 User's Guide

mod_perl2 User's Guide

By Stas Bekman, Jim Brandt
Practical mod_perl

Practical mod_perl

By Stas Bekman, Eric Cholet
The mod_perl Developer's Cookbook

The mod_perl Developer's Cookbook

By Geoffrey Young, Paul Lindner, Randy Kobes
mod_perl Pocket Reference

mod_perl Pocket Reference

By Andrew Ford
Writing Apache Modules with Perl and C

Writing Apache Modules with Perl and C

By Lincoln Stein, Doug MacEachern


Table of Contents

Synopsis

  use APR::ThreadRWLock ();

  my $mutex = APR::ThreadRWLock->new($r->pool);
  $mutex->rdlock;
  $mutex->wrlock;
  $mutex->tryrdlock;
  $mutex->trywrlock;
  $mutex->unlock;


TOP

Description

APR::ThreadRWLock interfaces APR thread read/write locks.

See srclib/apr/locks/unix/thread_rwlock.c in your Apache source tree. At the time of this writing these methods are not supported on all platforms. Thus, check your libraries!



TOP

API

APR::ThreadRWLock provides the following functions and/or methods:



TOP

Unsupported API

APR::ThreadRWLock 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.



TOP

DESTROY

META: Autogenerated - needs to be reviewed/completed

Destroy the lock and free the associated memory.

  $lock->DESTROY();


TOP

rdlock

META: Autogenerated - needs to be reviewed/completed

Acquire the read lock for the given lock. The calling thread acquires the read lock if a writer does not hold the lock and there are no writers blocked on the lock. Otherwize it is put to sleep until these conditions are met.

  $ret = $lock->rdlock();


TOP

tryrdlock

META: Autogenerated - needs to be reviewed/completed

Performs the same operation as rdlock with the exception that the function shall fail if the thread would be blocked.

  $ret = $lock->tryrdlock();


TOP

wrlock

META: Autogenerated - needs to be reviewed/completed

Acquire the write lock for the given lock. The calling thread acquires the write lock if if no other thread (reader or writer) holds it. Otherwize it is put to sleep until this condition is met.

  $ret = $lock->wrlock();


TOP

trywrlock

META: Autogenerated - needs to be reviewed/completed

Performs the same operation as wrlock with the exception that the function shall fail if the thread would be blocked.

  $ret = $lock->trywrlock();


TOP

new

Create a new lock

  my $lock = APR::ThreadRWLock->new($p);


TOP

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_lock.

  $ret = $obj->pool_get();


TOP

unlock

META: Autogenerated - needs to be reviewed/completed

Release the lock for the given lock.

  $ret = $lock->unlock();


TOP

See Also

mod_perl 2.0 documentation.



TOP

Copyright

mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.



TOP

Authors

The mod_perl development team and numerous contributors.






TOP
previous page: APR::ThreadMutex - Perl API for APR thread mutexespage up: mod_perl 2.0 APInext page: APR::URI - Perl API for URI manipulations