diff options
Diffstat (limited to 'ace/Thread_Manager.h')
-rw-r--r-- | ace/Thread_Manager.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/ace/Thread_Manager.h b/ace/Thread_Manager.h index a21eadd7a43..80792193461 100644 --- a/ace/Thread_Manager.h +++ b/ace/Thread_Manager.h @@ -89,6 +89,16 @@ public: ACE_Thread_Manager (size_t size = ACE_Thread_Manager::DEFAULT_SIZE); virtual ~ACE_Thread_Manager (void); + static ACE_Thread_Manager *instance (void); + // Get pointer to a process-wide <ACE_Thread_Manager>. + + static ACE_Thread_Manager *instance (ACE_Thread_Manager *); + // Set pointer to a process-wide <ACE_Thread_Manager> and return + // existing pointer. + + static void close_singleton (void); + // Delete the dynamically allocated Singleton + int open (size_t size = DEFAULT_SIZE); // Initialize the manager with room for SIZE threads. @@ -369,6 +379,12 @@ protected: ACE_Thread_Mutex lock_; ACE_Condition_Thread_Mutex zero_cond_; #endif /* ACE_HAS_THREADS */ +private: + static ACE_Thread_Manager *thr_mgr_; + // Pointer to a process-wide <ACE_Thread_Manager>. + + static int delete_thr_mgr_; + // Must delete the <thr_mgr_> if non-0. }; |