Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# 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 Methods
| 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. More...
| ~ACE_Thread_Control (void)
| Remove the thread from its associated <Thread_Manager> and exit the thread if <do_thr_exit> is enabled. More...
void * | exit (void *status, int do_thr_exit)
| Remove this thread from its associated <Thread_Manager> and exit the thread if <do_thr_exit> is enabled. More...
int | insert (ACE_Thread_Manager *tm, int insert=0)
| Store the <Thread_Manager> and use it to register ourselves for correct shutdown. More...
ACE_Thread_Manager * | thr_mgr (void)
| Returns the current <Thread_Manager>. More...
ACE_Thread_Manager * | thr_mgr (ACE_Thread_Manager *)
| Atomically set a new <Thread_Manager> and return the old <Thread_Manager>. More...
void * | status (void *status)
| Set the exit status (and return existing status). More...
void * | status (void)
| Get the current exit status. More...
void | dump (void) const
| Dump the state of an object. More...
## Public Attributes
| ACE_ALLOC_HOOK_DECLARE
| Declare the dynamic allocation hooks. More...
## Private Attributes
ACE_Thread_Manager * | tm_
| Pointer to the thread manager for this block of code. More...
void * | status_
| Keeps track of the exit status for the thread. More...

## 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 * | t = 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

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

| Dump the state of an object.

void * ACE_Thread_Control::exit | ( | void * | exit_status,
|  | int | do_thr_exit
| ) |

| Remove this thread from its associated <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 void * ACE_Thread_Control::status | ( | void |  | ) |

| Get the current exit status.

ACE_INLINE void * ACE_Thread_Control::status | ( | void * | s | ) |

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

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

| 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.

void* 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