# ACE_Thread_Control Class Reference

Used to keep track of a thread's activities within its entry point function. More...

`#include <Thread_Control.h>`

Collaboration diagram for ACE_Thread_Control:

[legend]
List of all members.

## Public Member Functions

| ACE_Thread_Control (ACE_Thread_Manager *tm=0, int insert=0)
| ~ACE_Thread_Control (void)
ACE_THR_FUNC_RETURN | exit (ACE_THR_FUNC_RETURN status, int do_thr_exit)
int | insert (ACE_Thread_Manager *tm, int insert=0)
ACE_Thread_Manager * | thr_mgr (void)
| Returns the current <thread_manager>.
ACE_Thread_Manager * | thr_mgr (ACE_Thread_Manager *)
ACE_THR_FUNC_RETURN | status (ACE_THR_FUNC_RETURN status)
| Set the exit status (and return existing status).
ACE_THR_FUNC_RETURN | status (void)
| Get the current exit status.
void | dump (void) const
| Dump the state of an object.

## Public Attributes

| ACE_ALLOC_HOOK_DECLARE
| Declare the dynamic allocation hooks.

## Private Attributes

ACE_Thread_Manager * | tm_
| Pointer to the thread manager for this block of code.
ACE_THR_FUNC_RETURN | status_
| Keeps track of the exit status for the thread.

## Detailed Description

Used to keep track of a thread's activities within its entry point function.

A ACE_Thread_Manager uses this class to ensure that threads it spawns automatically register and unregister themselves with it. This class can be stored in thread-specific storage using the ACE_TSS wrapper. When a thread exits the <ACE_TSS::cleanup> function deletes this object, thereby ensuring that it gets removed from its associated ACE_Thread_Manager.

## Constructor & Destructor Documentation

ACE_Thread_Control::ACE_Thread_Control | ( | ACE_Thread_Manager * | tm = `0`,
|  | int | insert = `0`
| ) |

| Initialize the thread control object. If <insert> != 0, then register the thread with the Thread_Manager.

ACE_Thread_Control::~ACE_Thread_Control | ( | void |  | ) |

| Remove the thread from its associated <thread_manager> and exit the thread if <do_thr_exit> is enabled.

## Member Function Documentation

ACE_BEGIN_VERSIONED_NAMESPACE_DECL void ACE_Thread_Control::dump | ( | void |  | ) | const

| Dump the state of an object.

ACE_THR_FUNC_RETURN ACE_Thread_Control::exit | ( | ACE_THR_FUNC_RETURN | status,
|  | int | do_thr_exit
| ) |

| Remove this thread from its associated ACE_Thread_Manager and exit the thread if do_thr_exit is enabled.

int ACE_Thread_Control::insert | ( | ACE_Thread_Manager * | tm,
|  | int | insert = `0`
| ) |

| Store the <thread_manager> and use it to register ourselves for correct shutdown.

ACE_INLINE ACE_THR_FUNC_RETURN ACE_Thread_Control::status | ( | void |  | ) |

| Get the current exit status.

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ACE_THR_FUNC_RETURN ACE_Thread_Control::status | ( | ACE_THR_FUNC_RETURN | status | ) |

| Set the exit status (and return existing status).

ACE_INLINE ACE_Thread_Manager * ACE_Thread_Control::thr_mgr | ( | ACE_Thread_Manager * |  | ) |

| Atomically set a new <thread_manager> and return the old <thread_manager>.

ACE_INLINE ACE_Thread_Manager * ACE_Thread_Control::thr_mgr | ( | void |  | ) |

| Returns the current <thread_manager>.

## Member Data Documentation

ACE_Thread_Control::ACE_ALLOC_HOOK_DECLARE

| Declare the dynamic allocation hooks.

ACE_THR_FUNC_RETURN ACE_Thread_Control::status_`[private]`

| Keeps track of the exit status for the thread.

ACE_Thread_Manager* ACE_Thread_Control::tm_`[private]`

| Pointer to the thread manager for this block of code.

The documentation for this class was generated from the following files:

- Thread_Control.h
- Thread_Control.cpp
- Thread_Control.inl