ACE 8.0.1
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Private Attributes | List of all members
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:
Collaboration graph
[legend]

Public Member Functions

 ACE_Thread_Control (ACE_Thread_Manager *tm=0, int insert=0)
 
 ~ACE_Thread_Control ()
 
ACE_THR_FUNC_RETURN exit (ACE_THR_FUNC_RETURN status, int do_thr_exit)
 
int insert (ACE_Thread_Manager *tm, bool insert=false)
 
ACE_Thread_Managerthr_mgr ()
 Returns the current Thread_Manager.
 
ACE_Thread_Managerthr_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 ()
 Get the current exit status.
 
void dump () const
 Dump the state of an object.
 

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.
 

Private Attributes

ACE_Thread_Managertm_
 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_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::~ACE_Thread_Control ( )

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

Member Function Documentation

◆ dump()

void ACE_Thread_Control::dump ( ) const

Dump the state of an object.

◆ exit()

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.

◆ insert()

int ACE_Thread_Control::insert ( ACE_Thread_Manager * tm,
bool insert = false )

Store the Thread_Manager and use it to register ourselves for correct shutdown.

◆ status() [1/2]

ACE_THR_FUNC_RETURN ACE_Thread_Control::status ( )
inline

Get the current exit status.

◆ status() [2/2]

ACE_THR_FUNC_RETURN ACE_Thread_Control::status ( ACE_THR_FUNC_RETURN status)
inline

Set the exit status (and return existing status).

◆ thr_mgr() [1/2]

ACE_Thread_Manager * ACE_Thread_Control::thr_mgr ( )
inline

Returns the current Thread_Manager.

◆ thr_mgr() [2/2]

ACE_Thread_Manager * ACE_Thread_Control::thr_mgr ( ACE_Thread_Manager * tm)
inline

Atomically set a new Thread_Manager and return the old Thread_Manager.

Member Data Documentation

◆ ACE_ALLOC_HOOK_DECLARE

ACE_Thread_Control::ACE_ALLOC_HOOK_DECLARE

Declare the dynamic allocation hooks.

◆ status_

ACE_THR_FUNC_RETURN ACE_Thread_Control::status_
private

Keeps track of the exit status for the thread.

◆ tm_

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: