summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/EC_Multiple/EC_Multiple.h
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-06-18 04:30:14 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-06-18 04:30:14 +0000
commitbf5eca3c6028196adf55b0b74a380cd37c637d0d (patch)
treef500224f03ffd1b77161ceb329bad944534daa43 /TAO/orbsvcs/tests/EC_Multiple/EC_Multiple.h
parentbea2d5efbb905a70d695f78b0a64e51ed24ab7f8 (diff)
downloadATCD-bf5eca3c6028196adf55b0b74a380cd37c637d0d.tar.gz
ChangeLogTag:Wed Jun 17 23:29:06 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
Diffstat (limited to 'TAO/orbsvcs/tests/EC_Multiple/EC_Multiple.h')
-rw-r--r--TAO/orbsvcs/tests/EC_Multiple/EC_Multiple.h24
1 files changed, 19 insertions, 5 deletions
diff --git a/TAO/orbsvcs/tests/EC_Multiple/EC_Multiple.h b/TAO/orbsvcs/tests/EC_Multiple/EC_Multiple.h
index 86939873f4a..b9b727473e1 100644
--- a/TAO/orbsvcs/tests/EC_Multiple/EC_Multiple.h
+++ b/TAO/orbsvcs/tests/EC_Multiple/EC_Multiple.h
@@ -47,6 +47,9 @@ public:
CORBA::Environment& _env);
// This method connects the supplier to the EC.
+ void close (CORBA::Environment &_env);
+ // Disconnect from the EC.
+
void activate (const char* name,
const RtecScheduler::Period& rate,
RtecEventChannelAdmin::EventChannel_ptr ec,
@@ -113,6 +116,9 @@ public:
CORBA::Environment& _env);
// This method connects the consumer to the EC.
+ void close (CORBA::Environment &_env);
+ // Disconnect from the EC.
+
virtual void push (const RtecEventComm::EventSet& events,
CORBA::Environment &_env);
virtual void disconnect_push_consumer (CORBA::Environment &);
@@ -197,6 +203,7 @@ private:
void connect_suppliers (RtecEventChannelAdmin::EventChannel_ptr local_ec,
CORBA::Environment &_env);
+ void disconnect_suppliers (CORBA::Environment &_env);
// Connect the suppliers.
void activate_suppliers (RtecEventChannelAdmin::EventChannel_ptr local_ec,
@@ -212,7 +219,8 @@ private:
void connect_consumers (RtecEventChannelAdmin::EventChannel_ptr local_ec,
CORBA::Environment &_env);
- // Connect the consumers.
+ void disconnect_consumers (CORBA::Environment &_env);
+ // Connect and disconnect the consumers.
int shutdown (CORBA::Environment&);
// Called when the main thread (i.e. not the scavenger thread) is
@@ -259,6 +267,12 @@ private:
// "local" instantiate a local config time scheduling service.
// "runtime" instantiates a local rumtime scheduling service.
+ int consumer_disconnects_;
+ int supplier_disconnects_;
+ // How many times to disconnect the consumers (and suppliers) before
+ // the final connection. This is useful to test the disconnection in
+ // the EC.
+
int short_circuit_;
// Don't send the messages through the EC. This is needed to measure
// the overhead introduced by the EC.
@@ -340,17 +354,17 @@ private:
// Store the measurements for local and remote events..
int ready_;
- ACE_Thread_Mutex ready_mtx_;
- ACE_Condition<ACE_Thread_Mutex> ready_cnd_;
+ ACE_SYNCH_MUTEX ready_mtx_;
+ ACE_Condition<ACE_SYNCH_MUTEX> ready_cnd_;
// Before accepting any events the suppliers must wait for the test
// to setup all the consumers.
// The suppliers wait on the condition variable.
- ACE_Atomic_Op<ACE_Thread_Mutex,int> running_suppliers_;
+ ACE_Atomic_Op<ACE_SYNCH_MUTEX,int> running_suppliers_;
// keep track of how many suppliers are still running so we shutdown
// at the right moment.
- ACE_Atomic_Op<ACE_Thread_Mutex,int> running_consumers_;
+ ACE_Atomic_Op<ACE_SYNCH_MUTEX,int> running_consumers_;
// keep track of how many consumers are still running so we shutdown
// at the right moment.