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
void output(ostream &out) const
This method is declared virtual in MutexDebug, but non-virtual in LightReMutexDirect.
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.
A fake mutex implementation for single-threaded applications that don't need any synchronization cont...