ACE
6.4.2
|
Converts a C++ function into a function that can be called from a thread creation routine (e.g., pthread_create() or _beginthreadex()) that expects an extern "C" entry point. This class also makes it possible to transparently provide hooks to register a thread with an ACE_Thread_Manager. More...
#include <Thread_Adapter.h>
Public Member Functions | |
ACE_Thread_Adapter (ACE_THR_FUNC user_func, void *arg, ACE_THR_C_FUNC entry_point=(ACE_THR_C_FUNC) ACE_THREAD_ADAPTER_NAME, ACE_Thread_Manager *thr_mgr=0, ACE_Thread_Descriptor *td=0, long cancel_flags=0) | |
Constructor. More... | |
virtual ACE_THR_FUNC_RETURN | invoke (void) |
ACE_Thread_Manager * | thr_mgr (void) |
Accessor for the optional ACE_Thread_Manager. More... | |
Public Member Functions inherited from ACE_Base_Thread_Adapter | |
virtual | ~ACE_Base_Thread_Adapter (void) |
ACE_THR_C_FUNC | entry_point (void) |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Protected Member Functions | |
~ACE_Thread_Adapter (void) | |
Ensure that this object must be allocated on the heap. More... | |
Protected Member Functions inherited from ACE_Base_Thread_Adapter | |
ACE_Base_Thread_Adapter (ACE_THR_FUNC user_func, void *arg, ACE_THR_C_FUNC entry_point=(ACE_THR_C_FUNC) ACE_THREAD_ADAPTER_NAME, ACE_OS_Thread_Descriptor *td=0, long cancel_flags=0) | |
Constructor. More... | |
void | inherit_log_msg (void) |
Private Member Functions | |
virtual ACE_THR_FUNC_RETURN | invoke_i (void) |
Private Attributes | |
ACE_Thread_Manager * | thr_mgr_ |
Optional thread manager. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from ACE_Base_Thread_Adapter | |
static void | close_log_msg (void) |
Invoke the close_log_msg_hook, if it is present. More... | |
static void | sync_log_msg (const ACE_TCHAR *prog_name) |
Invoke the sync_log_msg_hook, if it is present. More... | |
static ACE_OS_Thread_Descriptor * | thr_desc_log_msg (void) |
Invoke the thr_desc_log_msg_hook, if it is present. More... | |
Protected Attributes inherited from ACE_Base_Thread_Adapter | |
ACE_THR_FUNC | user_func_ |
Thread startup function passed in by the user (C++ linkage). More... | |
void * | arg_ |
Argument to thread startup function. More... | |
ACE_THR_C_FUNC | entry_point_ |
ACE_OS_Thread_Descriptor * | thr_desc_ |
ACE_OS_Log_Msg_Attributes | log_msg_attributes_ |
The ACE_Log_Msg attributes. More... | |
ACE_Service_Gestalt *const | ctx_ |
That is useful for gprof, define itimerval. More... | |
long | flags_ |
Converts a C++ function into a function that can be called from a thread creation routine (e.g., pthread_create() or _beginthreadex()) that expects an extern "C" entry point. This class also makes it possible to transparently provide hooks to register a thread with an ACE_Thread_Manager.
This class is used in ACE_OS::thr_create(). In general, the thread that creates an object of this class is different from the thread that calls invoke()
on this object. Therefore, the invoke()
method is responsible for deleting itself.
ACE_Thread_Adapter::ACE_Thread_Adapter | ( | ACE_THR_FUNC | user_func, |
void * | arg, | ||
ACE_THR_C_FUNC | entry_point = (ACE_THR_C_FUNC) ACE_THREAD_ADAPTER_NAME , |
||
ACE_Thread_Manager * | thr_mgr = 0 , |
||
ACE_Thread_Descriptor * | td = 0 , |
||
long | cancel_flags = 0 |
||
) |
Constructor.
|
protected |
Ensure that this object must be allocated on the heap.
|
virtual |
Execute the <user_func_> with the <arg>. This function deletes this
, thereby rendering the object useless after the call returns.
Implements ACE_Base_Thread_Adapter.
|
privatevirtual |
Called by invoke, mainly here to separate the SEH stuff because SEH on Win32 doesn't compile with local vars with destructors.
|
inline |
Accessor for the optional ACE_Thread_Manager.
ACE_Thread_Adapter::ACE_ALLOC_HOOK_DECLARE |
|
private |
Optional thread manager.