summaryrefslogtreecommitdiff
path: root/ace/Timer_Queue_Adapters.h
diff options
context:
space:
mode:
authorsergio <sergio@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-10-24 22:29:49 +0000
committersergio <sergio@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-10-24 22:29:49 +0000
commitccc0454467dc417f531fb9f2373e96b5b6cb0d23 (patch)
treea2a0f3238673fffa68dfa0a89bf725312fda6f97 /ace/Timer_Queue_Adapters.h
parent784233aba6def89f207991c949be93c4e9bb5e7d (diff)
downloadATCD-ccc0454467dc417f531fb9f2373e96b5b6cb0d23.tar.gz
*** empty log message ***
Diffstat (limited to 'ace/Timer_Queue_Adapters.h')
-rw-r--r--ace/Timer_Queue_Adapters.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/ace/Timer_Queue_Adapters.h b/ace/Timer_Queue_Adapters.h
index a5d6009b386..60fb48b894d 100644
--- a/ace/Timer_Queue_Adapters.h
+++ b/ace/Timer_Queue_Adapters.h
@@ -94,7 +94,7 @@ class ACE_Export ACE_Thread_Timer_Queue_Adapter : public ACE_Task_Base
public:
typedef TQ TIMER_QUEUE;
- ACE_Thread_Timer_Queue_Adapter (void);
+ ACE_Thread_Timer_Queue_Adapter (ACE_Thread_Manager * = ACE_Thread_Manager::instance ());
// Creates the timer queue. Activation of the task is the user's
// responsibility.
@@ -121,6 +121,20 @@ public:
TQ &timer_queue (void);
// Access the implementation queue, useful for iteration.
+ ACE_thread_t thr_id (void);
+ // Return the thread id of our active object.
+
+ virtual int activate (long flags = THR_NEW_LWP,
+ int n_threads = 1,
+ int force_active = 0,
+ long priority = ACE_DEFAULT_THREAD_PRIORITY,
+ int grp_id = -1,
+ ACE_Task_Base *task = 0,
+ ACE_hthread_t thread_handles[] = 0);
+ // We override the default <activate> method so that we can ensure
+ // that only a single thread is ever spawned. Otherwise, too many
+ // weird things can happen...
+
private:
TQ timer_queue_;
// The underlying Timer_Queue.
@@ -135,8 +149,11 @@ private:
// <condition_>.
int active_;
- // When deactive is called this variable turns to false and the
+ // When deactivate is called this variable turns to false and the
// dispatching thread is signalled, to terminate its main loop.
+
+ ACE_thread_t thr_id_;
+ // Thread id of our active object task.
};
#if defined (__ACE_INLINE__)