15 #ifndef LIGHTREMUTEXDIRECT_H 16 #define LIGHTREMUTEXDIRECT_H 18 #include "pandabase.h" 19 #include "mutexImpl.h" 20 #include "reMutexDirect.h" 35 INLINE ~LightReMutexDirect();
37 INLINE LightReMutexDirect(
const LightReMutexDirect ©);
38 INLINE
void operator = (
const LightReMutexDirect ©);
41 BLOCKING INLINE
void acquire()
const;
42 BLOCKING INLINE
void acquire(
Thread *current_thread)
const;
43 INLINE
void elevate_lock()
const;
44 INLINE
void release()
const;
46 INLINE
bool debug_is_locked()
const;
48 INLINE
void set_name(
const string &name);
49 INLINE
void clear_name();
50 INLINE
bool has_name()
const;
51 INLINE
string get_name()
const;
53 void output(ostream &out)
const;
56 #if defined(HAVE_REMUTEXIMPL) && !defined(DO_PSTATS) 63 #endif // HAVE_REMUTEXIMPL 72 #include "lightReMutexDirect.I" 74 #endif // !DEBUG_THREADS This class implements a standard lightReMutex by making direct calls to the underlying implementation...
This class implements a standard reMutex by making direct calls to the underlying implementation laye...
A thread; that is, a lightweight process.
void output(ostream &out) const
This method is declared virtual in MutexDebug, but non-virtual in LightReMutexDirect.
A fake mutex implementation for single-threaded applications that don't need any synchronization cont...