Page Speed Optimization Libraries  1.13.35.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
net_instaweb::AbstractMutex Class Referenceabstract

Abstract interface for implementing a mutex. More...

#include "abstract_mutex.h"

Inheritance diagram for net_instaweb::AbstractMutex:
net_instaweb::NullMutex net_instaweb::ThreadSystem::CondvarCapableMutex net_instaweb::ThreadSystem::RWLock net_instaweb::CheckingThreadSystem::Mutex net_instaweb::NullCondvarCapableMutex net_instaweb::PthreadMutex net_instaweb::CheckingThreadSystem::RWLock net_instaweb::NullRWLock net_instaweb::PthreadRWLock

Public Member Functions

virtual bool TryLock () EXCLUSIVE_TRYLOCK_FUNCTION(true)=0
 Attempt to take mutex, true on success, false if held by another thread.
 
virtual void Lock () EXCLUSIVE_LOCK_FUNCTION()=0
 Block until mutex is available, then take the mutex.
 
virtual void Unlock () UNLOCK_FUNCTION()=0
 Release the mutex, permitting a blocked lock operation (if any) to proceed.
 
virtual void DCheckLocked ()
 
virtual void DCheckUnlocked ()
 

Detailed Description

Abstract interface for implementing a mutex.

Member Function Documentation

virtual void net_instaweb::AbstractMutex::DCheckLocked ( )
virtual

Optionally checks that lock is held (for invariant checking purposes). Default implementation does no checking.

Reimplemented in net_instaweb::CheckingThreadSystem::RWLock, and net_instaweb::CheckingThreadSystem::Mutex.

virtual void net_instaweb::AbstractMutex::DCheckUnlocked ( )
virtual

Optionally checks that lock is not held (for invariant checking purposes). Default implementation does no checking.

Reimplemented in net_instaweb::CheckingThreadSystem::Mutex.


The documentation for this class was generated from the following file: