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