#include <Thread_Control.h>
Collaboration diagram for ACE_Thread_Control:
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. |
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.
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.
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>.
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.