NAME
ACE_Recursive_Thread_Mutex -
Implement a C++ wrapper that allows calls to class
ACE_Thread_Mutex to be nested for a nested acquire() that
occurs in the same thread.
SYNOPSIS
#include <ace/Synch.h>
class ACE_Recursive_Thread_Mutex
{
public:
friend class ACE_Condition<class ACE_COND_MUTEX>;
ACE_Recursive_Thread_Mutex (LPCTSTR name = 0, void *arg = 0);
~ACE_Recursive_Thread_Mutex (void);
int remove (void);
int acquire (void);
int tryacquire (void);
int release (void);
ACE_thread_t get_thread_id (void);
int get_nesting_level (void);
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;
private:
void set_nesting_level (int d);
void set_thread_id (ACE_thread_t t);
ACE_Thread_Mutex nesting_mutex_;
ACE_Condition_Thread_Mutex lock_available_;
int nesting_level_;
ACE_thread_t owner_id_;
inline void operator= (const ACE_Recursive_Thread_Mutex &);
ACE_Recursive_Thread_Mutex (const ACE_Recursive_Thread_Mutex &);
};
DESCRIPTION
Wrappers for various synchronization routines.
Prevent assignment and initialization.
inline void operator= (const ACE_Recursive_Thread_Mutex &);
ACE_Recursive_Thread_Mutex (const ACE_Recursive_Thread_Mutex &);
AUTHOR
Doug Schmidt
LIBRARY
ace