Page Speed Optimization Libraries  1.5.27.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Public Member Functions | Friends
net_instaweb::CheckingThreadSystem Class Reference

#include "checking_thread_system.h"

Inheritance diagram for net_instaweb::CheckingThreadSystem:
net_instaweb::ThreadSystem

List of all members.

Classes

class  Mutex
class  RWLock

Public Member Functions

 CheckingThreadSystem (ThreadSystem *thread_system)
virtual MutexNewMutex ()
virtual RWLockNewRWLock ()
virtual TimerNewTimer ()
virtual ThreadIdGetThreadId () const

Friends

class Mutex

Detailed Description

A thread system whose mutex and condvar factories yield implementations that permit checking of lock invariants using DCheckLocked(). This can be wrapped around an unchecked implementation. This implementation checks invariants using CHECK (so does checking unconditionally). To check conditionally, do the wrapping depending upon the setting of NDEBUG. This is done by the Platform::CreateThreadSystem() factory by default, which is why the invariant checking method is called DCheckLock (Debug check lock) and not CheckLock.


Member Function Documentation

virtual ThreadId* net_instaweb::CheckingThreadSystem::GetThreadId ( ) const [inline, virtual]

Returns an object holding the current thread ID. The resultant object must be freed by the caller.

Implements net_instaweb::ThreadSystem.

Makes a new mutex for this system.

See also CondvarCapableMutex::NewCondvar.

Implements net_instaweb::ThreadSystem.

This lock will provide following guarantee -

  • Reader reentrant safe.
  • Writer Priority, this ensures no writer starvation.

Implements net_instaweb::ThreadSystem.

Creates and returns a real-time timer. Caller is responsible for deleting.

Todo:
TODO(jmarantz): consider removing this and controlling timers separately.

Implements net_instaweb::ThreadSystem.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines