mongo::MutexDebugger Class Reference

#include <mutex.h>

List of all members.

Public Member Functions

void entering (mid m)
void leaving (mid m)
 MutexDebugger ()
void programEnding ()

Public Attributes

string a
string b

Private Types

typedef const char * mid
typedef map< mid, int > Preceeding

Private Member Functions

void aBreakPoint ()

Private Attributes

map< mid, set< mid > > followers
unsigned magic
map< mid, int > maxNest
boost::thread_specific_ptr
< Preceeding
us
boost::mutex & x

Detailed Description

only used on _DEBUG builds. MutexDebugger checks that we always acquire locks for multiple mutexes in a consistant (acyclic) order. If we were inconsistent we could deadlock.

Definition at line 44 of file mutex.h.


Member Typedef Documentation

typedef const char* mongo::MutexDebugger::mid [private]

Definition at line 45 of file mutex.h.

typedef map<mid,int> mongo::MutexDebugger::Preceeding [private]

Definition at line 46 of file mutex.h.


Constructor & Destructor Documentation

mongo::MutexDebugger::MutexDebugger (  ) 

Member Function Documentation

void mongo::MutexDebugger::aBreakPoint (  )  [inline, private]

Definition at line 53 of file mutex.h.

void mongo::MutexDebugger::entering ( mid  m  )  [inline]

Definition at line 68 of file mutex.h.

void mongo::MutexDebugger::leaving ( mid  m  )  [inline]

Definition at line 128 of file mutex.h.

void mongo::MutexDebugger::programEnding (  ) 

outputs some diagnostic info on mutexes (on _DEBUG builds)


Member Data Documentation

Definition at line 61 of file mutex.h.

Definition at line 61 of file mutex.h.

map< mid, set<mid> > mongo::MutexDebugger::followers [private]

Definition at line 49 of file mutex.h.

unsigned mongo::MutexDebugger::magic [private]

Definition at line 51 of file mutex.h.

map< mid, int > mongo::MutexDebugger::maxNest [private]

Definition at line 47 of file mutex.h.

boost::thread_specific_ptr< Preceeding > mongo::MutexDebugger::us [private]

Definition at line 48 of file mutex.h.

boost::mutex& mongo::MutexDebugger::x [private]

Definition at line 50 of file mutex.h.


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


mongodb
Author(s): Nate Koenig
autogenerated on Fri Jan 11 12:15:56 2013