diff options
Diffstat (limited to 'ACE/ace/Base_Thread_Adapter.h')
-rw-r--r-- | ACE/ace/Base_Thread_Adapter.h | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/ACE/ace/Base_Thread_Adapter.h b/ACE/ace/Base_Thread_Adapter.h index 0109a4d4647..cf15ad75f84 100644 --- a/ACE/ace/Base_Thread_Adapter.h +++ b/ACE/ace/Base_Thread_Adapter.h @@ -33,9 +33,8 @@ # define ACE_THREAD_ADAPTER_NAME ace_thread_adapter #endif /* ACE_HAS_VERSIONED_NAMESPACE == 1 */ -// Run the thread entry point for the ACE_Thread_Adapter. This must -// be an extern "C" to make certain compilers happy... - +/// Run the thread entry point for the ACE_Thread_Adapter. This must +/// be an extern "C" to make certain compilers happy... extern "C" ACE_Export ACE_THR_FUNC_RETURN ACE_THREAD_ADAPTER_NAME (void *args); ACE_BEGIN_VERSIONED_NAMESPACE_DECL @@ -61,17 +60,14 @@ protected: /** * Keeps track of whether this thread was created "detached" or not. * If a thread is *not* created detached then if someone calls - * <ACE_Thread_Manager::wait>, we need to join with that thread (and + * ACE_Thread_Manager::wait(), we need to join with that thread (and * close down the handle). */ long flags_; }; - - class ACE_Service_Gestalt; - /** * @class ACE_Base_Thread_Adapter * @@ -126,6 +122,7 @@ protected: , ACE_SEH_EXCEPT_HANDLER selector = 0 , ACE_SEH_EXCEPT_HANDLER handler = 0 # endif /* ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS */ + , long cancel_flags = 0 ); /// Inherit the logging features if the parent thread has an /// ACE_Log_Msg. @@ -162,8 +159,8 @@ protected: /** * Optional thread descriptor. Passing this pointer in will force - * the spawned thread to cache this location in <Log_Msg> and wait - * until <Thread_Manager> fills in all information in thread + * the spawned thread to cache this location in Log_Msg and wait + * until Thread_Manager fills in all information in thread * descriptor. */ ACE_OS_Thread_Descriptor *thr_desc_; @@ -171,7 +168,7 @@ protected: /// The ACE_Log_Msg attributes. ACE_OS_Log_Msg_Attributes log_msg_attributes_; - /// That is usefull for gprof, define itimerval + /// That is useful for gprof, define itimerval #ifdef ACE_USES_GPROF struct itimerval itimer_; #endif // ACE_USES_GPROF @@ -179,6 +176,11 @@ protected: /// Keep a reference to the configuration context that spawns the /// thread so the child can inherit it. ACE_Service_Gestalt * const ctx_; + + /// Pass through the thread-creation flags that can only be acted on by + /// the spawned thread. Currently this is only the cancellation-related + /// flags. + long flags_; }; ACE_END_VERSIONED_NAMESPACE_DECL |