diff options
Diffstat (limited to 'ace/Thread_Control.h')
-rw-r--r-- | ace/Thread_Control.h | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/ace/Thread_Control.h b/ace/Thread_Control.h deleted file mode 100644 index ed32db58184..00000000000 --- a/ace/Thread_Control.h +++ /dev/null @@ -1,101 +0,0 @@ - -//============================================================================= -/** - * @file Thread_Control.h - * - * $Id$ - * - * @author Carlos O'Ryan <coryan@uci.edu> - */ -//============================================================================= - - -#ifndef ACE_THREAD_CONTROL_H -#define ACE_THREAD_CONTROL_H -#include "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if !defined (ACE_LEGACY_MODE) -# include "ace/OS.h" -#endif /* ACE_LEGACY_MODE */ - -class ACE_Thread_Manager; - -/** - * @class ACE_Thread_Control - * - * @brief 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. - */ -class ACE_Export ACE_Thread_Control -{ -public: - /// Initialize the thread control object. If <insert> != 0, then - /// register the thread with the Thread_Manager. - ACE_Thread_Control (ACE_Thread_Manager *tm = 0, - int insert = 0); - - /// Remove the thread from its associated <Thread_Manager> and exit - /// the thread if <do_thr_exit> is enabled. - ~ACE_Thread_Control (void); - - /// Remove this thread from its associated ACE_Thread_Manager and exit - /// the thread if @a do_thr_exit is enabled. - ACE_THR_FUNC_RETURN exit (ACE_THR_FUNC_RETURN status, - int do_thr_exit); - - /// Store the <Thread_Manager> and use it to register ourselves for - /// correct shutdown. - int insert (ACE_Thread_Manager *tm, int insert = 0); - - /// Returns the current <Thread_Manager>. - ACE_Thread_Manager *thr_mgr (void); - - /// Atomically set a new <Thread_Manager> and return the old - /// <Thread_Manager>. - ACE_Thread_Manager *thr_mgr (ACE_Thread_Manager *); - - /// Set the exit status (and return existing status). - ACE_THR_FUNC_RETURN status (ACE_THR_FUNC_RETURN status); - - /// Get the current exit status. - ACE_THR_FUNC_RETURN status (void); - - /// Dump the state of an object. - void dump (void) const; - - /// Declare the dynamic allocation hooks. - ACE_ALLOC_HOOK_DECLARE; - -private: - /// Pointer to the thread manager for this block of code. - ACE_Thread_Manager *tm_; - - /// Keeps track of the exit status for the thread. - ACE_THR_FUNC_RETURN status_; -}; - -# if defined (ACE_HAS_INLINED_OSCALLS) -# if defined (ACE_INLINE) -# undef ACE_INLINE -# endif /* ACE_INLINE */ -# define ACE_INLINE inline -# include "ace/Thread_Control.inl" -# endif /* ACE_HAS_INLINED_OSCALLS */ - -#include "ace/post.h" -#endif /* ACE_THREAD_CONTROL_H */ |