summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h
diff options
context:
space:
mode:
authorChris Cleeland <chris.cleeland@gmail.com>2006-11-08 19:17:49 +0000
committerChris Cleeland <chris.cleeland@gmail.com>2006-11-08 19:17:49 +0000
commitd9ca80311fa2b9595ae36eaadb9a8e816706f148 (patch)
tree6ff62ad738fced33a8eddaf2a95973ca3a9470cc /TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h
parent9ef3b09874c19f5586f2fe04d9a69ee816be0ecc (diff)
downloadATCD-d9ca80311fa2b9595ae36eaadb9a8e816706f148.tar.gz
Committing changes for OCI RT 8089: changes to permit specifying thread
creation flags for thread-per-consumer (TPC) dispatch strategy in the RTEC.
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h b/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h
index b8c7ea49cd3..d507f3f5c1d 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h
@@ -39,7 +39,11 @@ class TAO_EC_Event_Channel_Base;
class TAO_RTEvent_Serv_Export TAO_EC_TPC_Dispatching : public TAO_EC_Dispatching
{
public:
- TAO_EC_TPC_Dispatching (TAO_EC_Queue_Full_Service_Object* so);
+ TAO_EC_TPC_Dispatching (int nthreads,
+ int thread_creation_flags,
+ int thread_priority,
+ int force_activate,
+ TAO_EC_Queue_Full_Service_Object* so);
~TAO_EC_TPC_Dispatching ();
// = The EC_Dispatching methods.
@@ -63,6 +67,20 @@ private:
// Use our own thread manager
ACE_Thread_Manager thread_manager_;
+ /// The number of active tasks
+ int nthreads_;
+
+ /// The flags (THR_BOUND, THR_NEW_LWP, etc.) used to create the
+ /// dispatching threads.
+ int thread_creation_flags_;
+
+ /// The priority of the dispatching threads.
+ int thread_priority_;
+
+ /// If activation at the requested priority fails then we fallback on
+ /// the defaults for thread activation.
+ int force_activate_;
+
typedef ACE_Hash_Map_Manager_Ex<RtecEventComm::PushConsumer_ptr,TAO_EC_Dispatching_Task*,ACE_Pointer_Hash<RtecEventComm::PushConsumer_ptr>,ACE_Equal_To<RtecEventComm::PushConsumer_ptr>,ACE_Null_Mutex> MAPTYPE;
// Tweak the default size of this map by #defining