summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-03-24 05:20:21 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-03-24 05:20:21 +0000
commit2f97050c3bcd378495b32f8f7591dc77d4595005 (patch)
tree40dc3f24fa8cbc5e27ab9553cb6a6f0c144c1741
parent687b9e0764e7d8605d72fa01066ab62b55513698 (diff)
downloadATCD-2f97050c3bcd378495b32f8f7591dc77d4595005.tar.gz
ChangeLogTag:Thu Mar 23 21:11:31 2000 Carlos O'Ryan <coryan@uci.edu>
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a64
-rw-r--r--TAO/docs/cec_options.html10
-rw-r--r--TAO/docs/ec_options.html170
-rw-r--r--TAO/orbsvcs/tests/Event/Basic/Control.cpp205
-rw-r--r--TAO/orbsvcs/tests/Event/Basic/Control.dsp102
-rw-r--r--TAO/orbsvcs/tests/Event/Basic/Control.h54
-rw-r--r--TAO/orbsvcs/tests/Event/Basic/Makefile487
-rw-r--r--TAO/orbsvcs/tests/Event/Basic/control.conf2
-rwxr-xr-xTAO/orbsvcs/tests/Event/Basic/run_test.pl9
-rw-r--r--TAO/orbsvcs/tests/Event/lib/Counting_Consumer.cpp9
-rw-r--r--TAO/orbsvcs/tests/Event/lib/Counting_Consumer.h1
11 files changed, 944 insertions, 169 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a
index e95afefd1e9..69d3b979ad3 100644
--- a/TAO/ChangeLogs/ChangeLog-02a
+++ b/TAO/ChangeLogs/ChangeLog-02a
@@ -1,29 +1,51 @@
+Thu Mar 23 21:11:31 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * orbsvcs/tests/Event/Basic/Makefile:
+ * orbsvcs/tests/Event/Basic/Control.h:
+ * orbsvcs/tests/Event/Basic/Control.cpp:
+ * orbsvcs/tests/Event/Basic/Control.dsp:
+ * orbsvcs/tests/Event/Basic/control.conf:
+ * orbsvcs/tests/Event/Basic/run_test.pl:
+ New test to check the ConsumerControl strategies, its consumers
+ are deactivated without disconnecting, the supplier continues
+ pushing events. It works on Linux, but there seems to be
+ problems on NT.
+
+ * orbsvcs/tests/Event/lib/Counting_Consumer.h:
+ * orbsvcs/tests/Event/lib/Counting_Consumer.cpp:
+ Implement a separate function to deactivate the servant, it is
+ used in the ConsumerControl strategy test.
+
+ * docs/cec_options.html:
+ * docs/ec_options.html:
+ Fixed some errors in the documentation.
+
Thu Mar 23 22:06:57 2000 Pradeep Gore <pradeep@flamenco.cs.wustl.edu>
- Added this logic to recycle ids - when an object gets destroyed,
- it informs its parent before going away.The parent then recycles the
- id that was assigned to that child.
- * orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.{h,cpp}:
- added method proxy_pushsupplier_destroyed
- * orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.{h,cpp}:
- added method proxy_pushconsumer_destroyed
- * orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.{h,cpp}:
- added methods consumer_admin_destroyed, supplier_admin_destroyed
- * orbsvcs/orbsvcs/Notify/Notify_Proxy_T.{h,cpp}:
- added CosNotifyChannelAdmin::ProxyID param to <init>.
- added CosNotifyChannelAdmin::ProxyID data member.
- * orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.{h,cpp}:
- * orbsvcs/orbsvcs/Notify/Notify_ProxyPushConsumer_i.{h,cpp}:
- * orbsvcs/orbsvcs/Notify/Notify_ProxyPushConsumer_i.{h,cpp}:
- * orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_T.{h,cpp}:
- removed extraneous <init> method. Notify_Proxy_T::init will suffice.
- * orbsvcs/orbsvcs/Notify/Notify_Resource_Manager.{h,cpp}:
- updated comments.
+ Added this logic to recycle ids - when an object gets destroyed,
+ it informs its parent before going away.The parent then recycles the
+ id that was assigned to that child.
+ * orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.{h,cpp}:
+ added method proxy_pushsupplier_destroyed
+ * orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.{h,cpp}:
+ added method proxy_pushconsumer_destroyed
+ * orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.{h,cpp}:
+ added methods consumer_admin_destroyed, supplier_admin_destroyed
+ * orbsvcs/orbsvcs/Notify/Notify_Proxy_T.{h,cpp}:
+ added CosNotifyChannelAdmin::ProxyID param to <init>.
+ added CosNotifyChannelAdmin::ProxyID data member.
+ * orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.{h,cpp}:
+ * orbsvcs/orbsvcs/Notify/Notify_ProxyPushConsumer_i.{h,cpp}:
+ * orbsvcs/orbsvcs/Notify/Notify_ProxyPushConsumer_i.{h,cpp}:
+ * orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_T.{h,cpp}:
+ removed extraneous <init> method. Notify_Proxy_T::init will suffice.
+ * orbsvcs/orbsvcs/Notify/Notify_Resource_Manager.{h,cpp}:
+ updated comments.
Thu Mar 23 22:28:09 2000 Carlos O'Ryan <coryan@cs.wustl.edu>
- * orbsvcs/ImplRepo_Service/Makefile:
- Only the TAO_Svc_Utils library is needed in this directory.
+ * orbsvcs/ImplRepo_Service/Makefile:
+ Only the TAO_Svc_Utils library is needed in this directory.
Thu Mar 23 20:49:43 2000 David L. Levine <levine@cs.wustl.edu>
diff --git a/TAO/docs/cec_options.html b/TAO/docs/cec_options.html
index 9f0535657cf..827c8ac06af 100644
--- a/TAO/docs/cec_options.html
+++ b/TAO/docs/cec_options.html
@@ -136,9 +136,9 @@ static CEC_Factory "-CECDispatching reactive ....."
</TD>
</TR>
- <!-- <TR NAME="CECConsumerPeriod"> -->
+ <!-- <TR NAME="CECConsumerControlPeriod"> -->
<TR>
- <TD><CODE>-CECConsumerPeriod</CODE>
+ <TD><CODE>-CECConsumerControlPeriod</CODE>
<EM>period</EM>
</TD>
<TD>Set the period (in microseconds) used by the reactive
@@ -147,9 +147,9 @@ static CEC_Factory "-CECDispatching reactive ....."
</TD>
</TR>
- <!-- <TR NAME="CECSupplierPeriod"> -->
+ <!-- <TR NAME="CECSupplierControlPeriod"> -->
<TR>
- <TD><CODE>-CECSupplierPeriod</CODE>
+ <TD><CODE>-CECSupplierControlPeriod</CODE>
<EM>period</EM>
</TD>
<TD>Set the period (in microseconds) used by the reactive
@@ -340,7 +340,7 @@ static CEC_Factory "-CECDispatching reactive ....."
<address><a href="mailto:coryan@cs.wustl.edu">Carlos O'Ryan</a></address>
<!-- Created: Thu Jul 1 21:44:28 CDT 1999 -->
<!-- hhmts start -->
-Last modified: Tue Feb 1 13:50:47 PST 2000
+Last modified: Thu Mar 23 19:10:16 PST 2000
<!-- hhmts end -->
</body>
</html>
diff --git a/TAO/docs/ec_options.html b/TAO/docs/ec_options.html
index 8ec996176cd..ff35db3be3d 100644
--- a/TAO/docs/ec_options.html
+++ b/TAO/docs/ec_options.html
@@ -19,10 +19,10 @@
<UL>
<LI><P>To eliminate the <CODE>CORBA::Any</CODE> field in the
- event payload you should define the
- <CODE>TAO_LACKS_EVENT_CHANNEL_ANY</CODE>
- macro when invoking the IDL compiler.
- You can do as follows:
+ event payload you should define the
+ <CODE>TAO_LACKS_EVENT_CHANNEL_ANY</CODE>
+ macro when invoking the IDL compiler.
+ You can do as follows:
<PRE>
$ cd $TAO_ROOT/orbsvcs/orbsvcs
$ make TAO_IDLFLAGS=-DTAO_LACKS_EVENT_CHANNEL_ANY
@@ -30,7 +30,7 @@ $ make TAO_IDLFLAGS=-DTAO_LACKS_EVENT_CHANNEL_ANY
</P>
</LI>
<LI><P>Similarly you can eliminate the octet sequence field in
- the event payload using:
+ the event payload using:
<PRE>
$ cd $TAO_ROOT/orbsvcs/orbsvcs
$ make TAO_IDLFLAGS=-DTAO_LACKS_EVENT_CHANNEL_OCTET_SEQUENCE
@@ -38,11 +38,11 @@ $ make TAO_IDLFLAGS=-DTAO_LACKS_EVENT_CHANNEL_OCTET_SEQUENCE
</P>
</LI>
<LI><P>Finally you can provide your own event payload, to do
- this you should Replace the contents of the
- <CODE>RtecDefaultEventData.idl</CODE>
- and define some IDL structure named
- <CODE>RtecEventData</CODE>.
- For example, you could define you own event type as follows:
+ this you should Replace the contents of the
+ <CODE>RtecDefaultEventData.idl</CODE>
+ and define some IDL structure named
+ <CODE>RtecEventData</CODE>.
+ For example, you could define you own event type as follows:
<PRE>
// Replace RtecDefaultEventData.idl with this:
@@ -241,8 +241,8 @@ static EC_Factory "-ECFiltering basic ....."
<EM>orbid</EM>
</TD>
<TD>Set the name of the ORB used by the event service, only
- useful in applications that create multiple ORBs and
- activate the event service in one of them.
+ useful in applications that create multiple ORBs and
+ activate the event service in one of them.
</TD>
</TR>
@@ -252,8 +252,8 @@ static EC_Factory "-ECFiltering basic ....."
<EM>policy</EM>
</TD>
<TD>Select the consumer control policy (<EM>null</EM> or
- <EM>reactive</EM>) to detect and discard broken consumer
- proxies.
+ <EM>reactive</EM>) to detect and discard broken consumer
+ proxies.
</TD>
</TR>
@@ -263,97 +263,97 @@ static EC_Factory "-ECFiltering basic ....."
<EM>policy</EM>
</TD>
<TD>Select the supplier control policy (<EM>null</EM> or
- <EM>reactive</EM>) to detect and discard broken supplier
- proxies.
+ <EM>reactive</EM>) to detect and discard broken supplier
+ proxies.
</TD>
</TR>
- <!-- <TR NAME="ECConsumerPeriod"> -->
+ <!-- <TR NAME="ECConsumerControlPeriod"> -->
<TR>
- <TD><CODE>-ECConsumerPeriod</CODE>
+ <TD><CODE>-ECConsumerControlPeriod</CODE>
<EM>period</EM>
</TD>
<TD>Set the period (in microseconds) used by the reactive
- consumer control policy to poll the state of the
- consumer proxies.
+ consumer control policy to poll the state of the
+ consumer proxies.
</TD>
</TR>
- <!-- <TR NAME="ECSupplierPeriod"> -->
+ <!-- <TR NAME="ECSupplierControlPeriod"> -->
<TR>
- <TD><CODE>-ECSupplierPeriod</CODE>
+ <TD><CODE>-ECSupplierControlPeriod</CODE>
<EM>period</EM>
</TD>
<TD>Set the period (in microseconds) used by the reactive
- supplier control policy to poll the state of the
- supplier proxies.
+ supplier control policy to poll the state of the
+ supplier proxies.
</TD>
</TR>
<!-- <TR NAME="ECProxyPushConsumerCollection"> -->
<TR>
<TD><CODE>-ECProxyPushConsumerCollection</CODE>
- <EM>flag[:flags]</EM>
+ <EM>flag[:flags]</EM>
</TD>
<TD><P>Configure the data structure and strategies used to
- implement collections of
- <CODE>ProxyPushConsumers</CODE>.
- The argument is a colon separated list of flags, with
- the following semantics:
- <TABLE>
- <TR><TH>Flag</TH><TH>Description</TH><
- </TR>
- <TR>
- <TD>MT</TD>
- <TD>Use regular mutexes and/or condition
- variables for serialization.
- </TD>
- <TD>ST</TD>
- <TD>Use null mutexes and/or condition
- variables for serialization.
- </TD>
- <TD>LIST</TD>
- <TD>Implement the collection using an ordered list,
- fast for iteration (i.e. during event dispatching),
- but slow for insertion and removal (i.e. when
- clients connect and disconnect from the EC).
- </TD>
- <TD>RB_TREE</TD>
- <TD>Implement the collection using a Red-Black tree,
- slow for iteration (i.e. during event dispatching),
- but fast for insertion and removal (i.e. when
- clients connect and disconnect from the EC).
- </TD>
- <TD>IMMEDIATE</TD>
- <TD>Threads block until they can execute a change on
- the data structure, the system must use other
- approaches to guarantee that the iterators are not
- invalidated during event dispatching. For example,
- use a separate dispatching thread.
- </TD>
- <TD>COPY_ON_READ</TD>
- <TD>Before initiating an iteration to dispatch events
- (or similar tasks) a copy of the complete collection
- is performed.
- This solves most of the synchronization problems,
- but introduces a significant source of overhead and
- priority inversions on the critical path.
- </TD>
- <TD>COPY_ON_WRITE <STRONG>UNIMPLEMENTED</STRONG></TD>
- <TD>Similar to the previous one, but the copy is only
- performed when needed.
- </TD>
- <TD>DELAYED</TD>
- <TD>Threads that need to change the collection can
- detect if that change will invalidate iterators used
- by other threads.
- If so, the thread posts the change on a queue that
- is executed once the collection is no longer in
- use.
- </TD>
- </TR>
- </TABLE>
- </P>
+ implement collections of
+ <CODE>ProxyPushConsumers</CODE>.
+ The argument is a colon separated list of flags, with
+ the following semantics:
+ <TABLE>
+ <TR><TH>Flag</TH><TH>Description</TH><
+ </TR>
+ <TR>
+ <TD>MT</TD>
+ <TD>Use regular mutexes and/or condition
+ variables for serialization.
+ </TD>
+ <TD>ST</TD>
+ <TD>Use null mutexes and/or condition
+ variables for serialization.
+ </TD>
+ <TD>LIST</TD>
+ <TD>Implement the collection using an ordered list,
+ fast for iteration (i.e. during event dispatching),
+ but slow for insertion and removal (i.e. when
+ clients connect and disconnect from the EC).
+ </TD>
+ <TD>RB_TREE</TD>
+ <TD>Implement the collection using a Red-Black tree,
+ slow for iteration (i.e. during event dispatching),
+ but fast for insertion and removal (i.e. when
+ clients connect and disconnect from the EC).
+ </TD>
+ <TD>IMMEDIATE</TD>
+ <TD>Threads block until they can execute a change on
+ the data structure, the system must use other
+ approaches to guarantee that the iterators are not
+ invalidated during event dispatching. For example,
+ use a separate dispatching thread.
+ </TD>
+ <TD>COPY_ON_READ</TD>
+ <TD>Before initiating an iteration to dispatch events
+ (or similar tasks) a copy of the complete collection
+ is performed.
+ This solves most of the synchronization problems,
+ but introduces a significant source of overhead and
+ priority inversions on the critical path.
+ </TD>
+ <TD>COPY_ON_WRITE <STRONG>UNIMPLEMENTED</STRONG></TD>
+ <TD>Similar to the previous one, but the copy is only
+ performed when needed.
+ </TD>
+ <TD>DELAYED</TD>
+ <TD>Threads that need to change the collection can
+ detect if that change will invalidate iterators used
+ by other threads.
+ If so, the thread posts the change on a queue that
+ is executed once the collection is no longer in
+ use.
+ </TD>
+ </TR>
+ </TABLE>
+ </P>
</TD>
</TR>
@@ -362,7 +362,7 @@ static EC_Factory "-ECFiltering basic ....."
<TD><CODE>-ECPushSupplierSet</CODE>
</TD>
<TD><P>Obsolete option, ignored.
- </P>
+ </P>
</TD>
</TR>
@@ -480,7 +480,7 @@ static EC_Factory "-ECFiltering basic ....."
<address><a href="mailto:coryan@cs.wustl.edu">Carlos O'Ryan</a></address>
<!-- Created: Thu Jul 1 21:44:28 CDT 1999 -->
<!-- hhmts start -->
-Last modified: Tue Feb 1 13:50:47 PST 2000
+Last modified: Thu Mar 23 21:17:40 PST 2000
<!-- hhmts end -->
</body>
</html>
diff --git a/TAO/orbsvcs/tests/Event/Basic/Control.cpp b/TAO/orbsvcs/tests/Event/Basic/Control.cpp
new file mode 100644
index 00000000000..00595268330
--- /dev/null
+++ b/TAO/orbsvcs/tests/Event/Basic/Control.cpp
@@ -0,0 +1,205 @@
+// $Id$
+
+#include "Control.h"
+#include "Counting_Supplier.h"
+
+#include "orbsvcs/Time_Utilities.h"
+#include "orbsvcs/Event_Utilities.h"
+#include "orbsvcs/Event/EC_Event_Channel.h"
+#include "orbsvcs/Event/EC_Default_Factory.h"
+
+ACE_RCSID(EC_Tests, Control, "$Id$")
+
+const int event_type = 20;
+const int event_source = 10;
+
+int
+main (int argc, char* argv[])
+{
+ TAO_EC_Default_Factory::init_svcs ();
+
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ // ORB initialization boiler plate...
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "", ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var object =
+ orb->resolve_initial_references ("RootPOA", ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ PortableServer::POA_var poa =
+ PortableServer::POA::_narrow (object.in (), ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ PortableServer::POAManager_var poa_manager =
+ poa->the_POAManager (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ poa_manager->activate (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // ****************************************************************
+
+ TAO_EC_Event_Channel_Attributes attributes (poa.in (),
+ poa.in ());
+ attributes.consumer_reconnect = 1;
+ attributes.supplier_reconnect = 1;
+
+ TAO_EC_Event_Channel ec_impl (attributes);
+ ec_impl.activate (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ RtecEventChannelAdmin::EventChannel_var event_channel =
+ ec_impl._this (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+
+ // ****************************************************************
+
+ // Obtain the consumer admin..
+ RtecEventChannelAdmin::ConsumerAdmin_var consumer_admin =
+ event_channel->for_consumers (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Obtain the supplier admin..
+ RtecEventChannelAdmin::SupplierAdmin_var supplier_admin =
+ event_channel->for_suppliers (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // ****************************************************************
+
+ EC_Counting_Supplier supplier0;
+
+ supplier0.connect (supplier_admin.in (),
+ event_source,
+ event_type,
+ event_source,
+ event_type,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // ****************************************************************
+
+ Consumer consumer0 ("Consumer/0", 100);
+ // Create a consumer, intialize its RT_Info structures, and
+ // connnect to the event channel....
+
+ ACE_ConsumerQOS_Factory consumer_qos0;
+ consumer_qos0.start_disjunction_group ();
+ consumer_qos0.insert (event_source, event_type, 0);
+
+ consumer0.connect (consumer_admin.in (),
+ consumer_qos0.get_ConsumerQOS (),
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ Consumer consumer1 ("Consumer/1", 200);
+ // Create a consumer, intialize its RT_Info structures, and
+ // connnect to the event channel....
+
+ consumer1.connect (consumer_admin.in (),
+ consumer_qos0.get_ConsumerQOS (),
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // ****************************************************************
+
+ EC_Counting_Supplier_Task task0 (&supplier0);
+
+ task0.activate ();
+
+ // ****************************************************************
+
+ ACE_Time_Value tv (10, 0);
+ ACE_OS::sleep (tv);
+
+ task0.stop ();
+
+ ACE_Thread_Manager::instance ()->wait ();
+
+
+ // ****************************************************************
+
+ // Cleanup..
+
+ // The consumers should be disconnected already, but make sure
+ // that they did...
+ //consumer1.disconnect (ACE_TRY_ENV);
+ //ACE_TRY_CHECK;
+ //consumer0.disconnect (ACE_TRY_ENV);
+ //ACE_TRY_CHECK;
+
+ // ****************************************************************
+
+ supplier0.disconnect (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // ****************************************************************
+
+ event_channel->destroy (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // ****************************************************************
+
+ poa->destroy (1, 1, ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // ****************************************************************
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Task 0 pushed %d events\n", task0.push_count ()));
+ ACE_DEBUG ((LM_DEBUG,
+ "Supplier 0 pushed %d events\n", supplier0.event_count));
+
+ consumer0.dump_results (100, 5);
+ consumer1.dump_results (200, 5);
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Service");
+ return 1;
+ }
+ ACE_ENDTRY;
+ return 0;
+}
+
+// ****************************************************************
+
+Consumer::Consumer (const char* name,
+ int shutdown_count)
+ : EC_Counting_Consumer (name),
+ shutdown_count_ (shutdown_count)
+{
+}
+
+void
+Consumer::push (const RtecEventComm::EventSet& events,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ if (events.length () == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "%s (%P|%t) no events\n", this->name_));
+ return;
+ }
+
+ {
+ ACE_GUARD (ACE_SYNCH_MUTEX, ace_mon, this->lock_);
+ this->event_count++;
+
+ if (this->event_count != this->shutdown_count_)
+ return;
+ }
+
+ this->deactivate (ACE_TRY_ENV);
+ ACE_CHECK;
+}
+
+// ****************************************************************
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+#elif defined(ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/tests/Event/Basic/Control.dsp b/TAO/orbsvcs/tests/Event/Basic/Control.dsp
new file mode 100644
index 00000000000..ea127e16ba6
--- /dev/null
+++ b/TAO/orbsvcs/tests/Event/Basic/Control.dsp
@@ -0,0 +1,102 @@
+# Microsoft Developer Studio Project File - Name="Control" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Control - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Control.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Control.mak" CFG="Control - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Control - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Control - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Control - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\lib" /I "..\..\.." /I "..\..\..\.." /I "..\..\..\..\.." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ECTest.lib TAO.lib ace.lib TAO_CosNaming.lib TAO_RTEvent.lib TAO_RTSched.lib TAO_Svc_Utils.lib /nologo /subsystem:console /machine:I386 /libpath:"..\lib" /libpath:"..\..\..\orbsvcs" /libpath:"..\..\..\..\tao" /libpath:"..\..\..\..\..\ace"
+
+!ELSEIF "$(CFG)" == "Control - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\lib" /I "..\..\.." /I "..\..\..\.." /I "..\..\..\..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ECTestd.lib TAOd.lib aced.lib TAO_CosNamingd.lib TAO_RTEventd.lib TAO_RTSchedd.lib TAO_Svc_Utilsd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\lib" /libpath:"..\..\..\orbsvcs" /libpath:"..\..\..\..\tao" /libpath:"..\..\..\..\..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Control - Win32 Release"
+# Name "Control - Win32 Debug"
+# Begin Group "Header Files"
+
+# PROP Default_Filter ".h"
+# Begin Source File
+
+SOURCE=.\Control.h
+# End Source File
+# End Group
+# Begin Group "Source Files"
+
+# PROP Default_Filter ".cpp"
+# Begin Source File
+
+SOURCE=.\Control.cpp
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/orbsvcs/tests/Event/Basic/Control.h b/TAO/orbsvcs/tests/Event/Basic/Control.h
new file mode 100644
index 00000000000..cf98b0f2f65
--- /dev/null
+++ b/TAO/orbsvcs/tests/Event/Basic/Control.h
@@ -0,0 +1,54 @@
+/* -*- C++ -*- */
+// $Id$
+//
+// ============================================================================
+//
+// = LIBRARY
+// ORBSVCS Real-time Event Channel tests
+//
+// = FILENAME
+// Control.h
+//
+// = AUTHOR
+// Carlos O'Ryan (coryan@cs.wustl.edu)
+//
+// ============================================================================
+
+#ifndef EC_CONTROL_H
+#define EC_CONTROL_H
+
+#include "Counting_Consumer.h"
+#include "orbsvcs/Channel_Clients.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class Consumer : public EC_Counting_Consumer
+{
+ // = TITLE
+ // Simple consumer object
+ //
+ // = DESCRIPTION
+ //
+public:
+ Consumer (const char* name,
+ int event_count);
+ // Constructor
+
+ // = The RtecEventComm::PushConsumer methods
+
+ virtual void push (const RtecEventComm::EventSet& events,
+ CORBA::Environment &_env)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ CORBA::ULong shutdown_count_;
+ // After this number of events the consumer disconnects from the
+ // event service.
+
+ ACE_SYNCH_MUTEX lock_;
+ // Synchronize access to the counter
+};
+
+#endif /* EC_CONTROL_H */
diff --git a/TAO/orbsvcs/tests/Event/Basic/Makefile b/TAO/orbsvcs/tests/Event/Basic/Makefile
index 455ea41a9d4..e37257bc224 100644
--- a/TAO/orbsvcs/tests/Event/Basic/Makefile
+++ b/TAO/orbsvcs/tests/Event/Basic/Makefile
@@ -25,7 +25,8 @@ BIN2 = Reconnect \
Atomic_Reconnect \
Bitmask \
Complex \
- Gateway
+ Gateway \
+ Control
#### If the orbsvcs library wasn't built with all components, don't
#### try to build certain tests.
@@ -241,7 +242,12 @@ endif
$(TAO_ROOT)/tao/Context.h \
$(TAO_ROOT)/tao/Context.i \
$(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/Request.i \
$(TAO_ROOT)/tao/Server_Request.h \
@@ -355,10 +361,6 @@ endif
$(TAO_ROOT)/tao/InconsistentTypeCodeC.h \
$(TAO_ROOT)/tao/DynAny_i.h \
$(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/ObjectIDList.h \
$(TAO_ROOT)/tao/ObjectIDList.i \
$(TAO_ROOT)/tao/WrongTransactionC.h \
@@ -595,7 +597,12 @@ endif
$(TAO_ROOT)/tao/Context.h \
$(TAO_ROOT)/tao/Context.i \
$(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/Request.i \
$(TAO_ROOT)/tao/Server_Request.h \
@@ -709,10 +716,6 @@ endif
$(TAO_ROOT)/tao/InconsistentTypeCodeC.h \
$(TAO_ROOT)/tao/DynAny_i.h \
$(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/ObjectIDList.h \
$(TAO_ROOT)/tao/ObjectIDList.i \
$(TAO_ROOT)/tao/WrongTransactionC.h \
@@ -939,7 +942,12 @@ endif
$(TAO_ROOT)/tao/Context.h \
$(TAO_ROOT)/tao/Context.i \
$(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/Request.i \
$(TAO_ROOT)/tao/Server_Request.h \
@@ -1053,10 +1061,6 @@ endif
$(TAO_ROOT)/tao/InconsistentTypeCodeC.h \
$(TAO_ROOT)/tao/DynAny_i.h \
$(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/ObjectIDList.h \
$(TAO_ROOT)/tao/ObjectIDList.i \
$(TAO_ROOT)/tao/WrongTransactionC.h \
@@ -1309,7 +1313,12 @@ endif
$(TAO_ROOT)/tao/Context.h \
$(TAO_ROOT)/tao/Context.i \
$(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/Request.i \
$(TAO_ROOT)/tao/Server_Request.h \
@@ -1423,10 +1432,6 @@ endif
$(TAO_ROOT)/tao/InconsistentTypeCodeC.h \
$(TAO_ROOT)/tao/DynAny_i.h \
$(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/ObjectIDList.h \
$(TAO_ROOT)/tao/ObjectIDList.i \
$(TAO_ROOT)/tao/WrongTransactionC.h \
@@ -1668,7 +1673,12 @@ endif
$(TAO_ROOT)/tao/Context.h \
$(TAO_ROOT)/tao/Context.i \
$(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/Request.i \
$(TAO_ROOT)/tao/Server_Request.h \
@@ -1782,10 +1792,6 @@ endif
$(TAO_ROOT)/tao/InconsistentTypeCodeC.h \
$(TAO_ROOT)/tao/DynAny_i.h \
$(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/ObjectIDList.h \
$(TAO_ROOT)/tao/ObjectIDList.i \
$(TAO_ROOT)/tao/WrongTransactionC.h \
@@ -2045,7 +2051,12 @@ endif
$(TAO_ROOT)/tao/Context.h \
$(TAO_ROOT)/tao/Context.i \
$(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/Request.i \
$(TAO_ROOT)/tao/Server_Request.h \
@@ -2159,10 +2170,6 @@ endif
$(TAO_ROOT)/tao/InconsistentTypeCodeC.h \
$(TAO_ROOT)/tao/DynAny_i.h \
$(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/ObjectIDList.h \
$(TAO_ROOT)/tao/ObjectIDList.i \
$(TAO_ROOT)/tao/WrongTransactionC.h \
@@ -2404,7 +2411,12 @@ endif
$(TAO_ROOT)/tao/Context.h \
$(TAO_ROOT)/tao/Context.i \
$(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/Request.i \
$(TAO_ROOT)/tao/Server_Request.h \
@@ -2518,10 +2530,6 @@ endif
$(TAO_ROOT)/tao/InconsistentTypeCodeC.h \
$(TAO_ROOT)/tao/DynAny_i.h \
$(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/ObjectIDList.h \
$(TAO_ROOT)/tao/ObjectIDList.i \
$(TAO_ROOT)/tao/WrongTransactionC.h \
@@ -2763,7 +2771,12 @@ endif
$(TAO_ROOT)/tao/Context.h \
$(TAO_ROOT)/tao/Context.i \
$(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/Request.i \
$(TAO_ROOT)/tao/Server_Request.h \
@@ -2877,10 +2890,6 @@ endif
$(TAO_ROOT)/tao/InconsistentTypeCodeC.h \
$(TAO_ROOT)/tao/DynAny_i.h \
$(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/ObjectIDList.h \
$(TAO_ROOT)/tao/ObjectIDList.i \
$(TAO_ROOT)/tao/WrongTransactionC.h \
@@ -3124,7 +3133,12 @@ endif
$(TAO_ROOT)/tao/Context.h \
$(TAO_ROOT)/tao/Context.i \
$(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/Request.i \
$(TAO_ROOT)/tao/Server_Request.h \
@@ -3238,10 +3252,6 @@ endif
$(TAO_ROOT)/tao/InconsistentTypeCodeC.h \
$(TAO_ROOT)/tao/DynAny_i.h \
$(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/ObjectIDList.h \
$(TAO_ROOT)/tao/ObjectIDList.i \
$(TAO_ROOT)/tao/WrongTransactionC.h \
@@ -3503,9 +3513,14 @@ endif
$(TAO_ROOT)/tao/Context.h \
$(TAO_ROOT)/tao/Context.i \
$(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/TimeBaseC.h \
$(TAO_ROOT)/tao/TimeBaseC.i \
$(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/Request.i \
$(TAO_ROOT)/tao/Server_Request.h \
@@ -3598,10 +3613,6 @@ endif
$(TAO_ROOT)/tao/InconsistentTypeCodeC.h \
$(TAO_ROOT)/tao/DynAny_i.h \
$(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/ObjectIDList.h \
$(TAO_ROOT)/tao/ObjectIDList.i \
$(TAO_ROOT)/tao/WrongTransactionC.h \
@@ -3840,7 +3851,12 @@ endif
$(TAO_ROOT)/tao/Context.h \
$(TAO_ROOT)/tao/Context.i \
$(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/Request.i \
$(TAO_ROOT)/tao/Server_Request.h \
@@ -3954,10 +3970,6 @@ endif
$(TAO_ROOT)/tao/InconsistentTypeCodeC.h \
$(TAO_ROOT)/tao/DynAny_i.h \
$(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/ObjectIDList.h \
$(TAO_ROOT)/tao/ObjectIDList.i \
$(TAO_ROOT)/tao/WrongTransactionC.h \
@@ -4199,7 +4211,12 @@ endif
$(TAO_ROOT)/tao/Context.h \
$(TAO_ROOT)/tao/Context.i \
$(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/Request.i \
$(TAO_ROOT)/tao/Server_Request.h \
@@ -4313,10 +4330,6 @@ endif
$(TAO_ROOT)/tao/InconsistentTypeCodeC.h \
$(TAO_ROOT)/tao/DynAny_i.h \
$(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/ObjectIDList.h \
$(TAO_ROOT)/tao/ObjectIDList.i \
$(TAO_ROOT)/tao/WrongTransactionC.h \
@@ -4558,7 +4571,12 @@ endif
$(TAO_ROOT)/tao/Context.h \
$(TAO_ROOT)/tao/Context.i \
$(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/Request.i \
$(TAO_ROOT)/tao/Server_Request.h \
@@ -4672,10 +4690,6 @@ endif
$(TAO_ROOT)/tao/InconsistentTypeCodeC.h \
$(TAO_ROOT)/tao/DynAny_i.h \
$(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/ObjectIDList.h \
$(TAO_ROOT)/tao/ObjectIDList.i \
$(TAO_ROOT)/tao/WrongTransactionC.h \
@@ -4917,7 +4931,12 @@ endif
$(TAO_ROOT)/tao/Context.h \
$(TAO_ROOT)/tao/Context.i \
$(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/Request.i \
$(TAO_ROOT)/tao/Server_Request.h \
@@ -5031,10 +5050,367 @@ endif
$(TAO_ROOT)/tao/InconsistentTypeCodeC.h \
$(TAO_ROOT)/tao/DynAny_i.h \
$(TAO_ROOT)/tao/Union.h \
+ $(TAO_ROOT)/tao/ObjectIDList.h \
+ $(TAO_ROOT)/tao/ObjectIDList.i \
+ $(TAO_ROOT)/tao/WrongTransactionC.h \
+ $(TAO_ROOT)/tao/InterfaceC.h \
+ $(TAO_ROOT)/tao/BoundsC.h \
+ $(TAO_ROOT)/tao/BoundsC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosEvent/event_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecSchedulerC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Sched/sched_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecSchedulerC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminC.i \
+ ../lib/Counting_Supplier.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Channel_Clients.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Channel_Clients_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Channel_Clients_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Channel_Clients_T.cpp \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.i \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event_Utilities.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event_Service_Constants.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/event_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event_Utilities.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Event_Channel.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Factory.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Factory.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Defaults.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecSchedulerS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecSchedulerS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecSchedulerS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecSchedulerS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecSchedulerS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Event_Channel.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Default_Factory.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Default_Factory.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Gateway.h
+
+.obj/Control.o .obj/Control.so .shobj/Control.o .shobj/Control.so: Control.cpp Control.h ../lib/Counting_Consumer.h \
+ ../lib/ectest_export.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseS.h \
+ $(TAO_ROOT)/tao/TimeBaseS.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Based_Pointer_T.h \
+ $(ACE_ROOT)/ace/Based_Pointer_T.i \
+ $(ACE_ROOT)/ace/Based_Pointer_T.cpp \
+ $(ACE_ROOT)/ace/Based_Pointer_Repository.h \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/try_macros.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/TimeBaseS_T.h \
+ $(TAO_ROOT)/tao/TimeBaseS_T.i \
+ $(TAO_ROOT)/tao/TimeBaseS_T.cpp \
+ $(TAO_ROOT)/tao/TimeBaseS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseC.h \
+ $(TAO_ROOT)/tao/corba.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/IOR_LookupTable.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Services.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/varout.h \
+ $(TAO_ROOT)/tao/varout.i \
+ $(TAO_ROOT)/tao/varout.cpp \
+ $(TAO_ROOT)/tao/Services.i \
+ $(TAO_ROOT)/tao/IORManipulation.h \
+ $(TAO_ROOT)/tao/IORS.h \
+ $(TAO_ROOT)/tao/IORC.h \
+ $(TAO_ROOT)/tao/IORC.i \
+ $(TAO_ROOT)/tao/Servant_Base.h \
+ $(TAO_ROOT)/tao/POAC.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/POAC.i \
+ $(TAO_ROOT)/tao/Servant_Base.i \
+ $(TAO_ROOT)/tao/IORS.i \
+ $(TAO_ROOT)/tao/Interceptor.h \
+ $(TAO_ROOT)/tao/InterceptorS.h \
+ $(TAO_ROOT)/tao/InterceptorC.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/InterceptorC.i \
+ $(TAO_ROOT)/tao/Interceptor.i \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/NVList.h \
+ $(TAO_ROOT)/tao/NVList.i \
+ $(TAO_ROOT)/tao/Principal.h \
+ $(TAO_ROOT)/tao/Principal.i \
+ $(TAO_ROOT)/tao/Request.h \
+ $(TAO_ROOT)/tao/Context.h \
+ $(TAO_ROOT)/tao/Context.i \
+ $(TAO_ROOT)/tao/MessagingC.h \
$(TAO_ROOT)/tao/ValueBase.h \
$(TAO_ROOT)/tao/ValueBase.i \
$(TAO_ROOT)/tao/ValueFactory.h \
$(TAO_ROOT)/tao/ValueFactory.i \
+ $(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
+ $(TAO_ROOT)/tao/MessagingC.i \
+ $(TAO_ROOT)/tao/Request.i \
+ $(TAO_ROOT)/tao/Server_Request.h \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Server_Request.i \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(TAO_ROOT)/tao/singletons.h \
+ $(TAO_ROOT)/tao/POA.h \
+ $(TAO_ROOT)/tao/Object_Adapter.h \
+ $(TAO_ROOT)/tao/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map.h \
+ $(ACE_ROOT)/ace/Map.i \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair.h \
+ $(ACE_ROOT)/ace/Pair.i \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/Key_Adapters.i \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/poa_macros.h \
+ $(TAO_ROOT)/tao/POAS.h \
+ $(TAO_ROOT)/tao/POA_CORBA.h \
+ $(TAO_ROOT)/tao/DynAnyC.h \
+ $(TAO_ROOT)/tao/DynAnyC.i \
+ $(TAO_ROOT)/tao/DomainC.h \
+ $(TAO_ROOT)/tao/DomainC.i \
+ $(TAO_ROOT)/tao/POAS.i \
+ $(TAO_ROOT)/tao/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Object_Adapter.i \
+ $(TAO_ROOT)/tao/POAManager.h \
+ $(TAO_ROOT)/tao/POAManager.i \
+ $(TAO_ROOT)/tao/ImplRepoC.h \
+ $(TAO_ROOT)/tao/ImplRepoC.i \
+ $(TAO_ROOT)/tao/POA.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/Pluggable.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Strategies.h \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Strategies.i \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(TAO_ROOT)/tao/Pluggable.i \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Policy_Manager.h \
+ $(TAO_ROOT)/tao/Policy_Manager.i \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/Protocol_Factory.h \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp \
+ $(TAO_ROOT)/tao/Operation_Table.h \
+ $(TAO_ROOT)/tao/debug.h \
+ $(TAO_ROOT)/tao/Client_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/Invocation.h \
+ $(TAO_ROOT)/tao/Reply_Dispatcher.h \
+ $(TAO_ROOT)/tao/GIOP_Message_State.h \
+ $(TAO_ROOT)/tao/Pluggable_Messaging.h \
+ $(TAO_ROOT)/tao/Pluggable_Messaging_Utils.h \
+ $(TAO_ROOT)/tao/Pluggable_Messaging_Utils.i \
+ $(TAO_ROOT)/tao/Pluggable_Messaging.i \
+ $(TAO_ROOT)/tao/GIOP_Message_State.i \
+ $(TAO_ROOT)/tao/Reply_Dispatcher.i \
+ $(TAO_ROOT)/tao/TAOC.h \
+ $(TAO_ROOT)/tao/TAOC.i \
+ $(TAO_ROOT)/tao/operation_details.h \
+ $(TAO_ROOT)/tao/operation_details.i \
+ $(TAO_ROOT)/tao/target_specification.h \
+ $(TAO_ROOT)/tao/target_specification.i \
+ $(TAO_ROOT)/tao/Invocation.i \
+ $(TAO_ROOT)/tao/InconsistentTypeCodeC.h \
+ $(TAO_ROOT)/tao/DynAny_i.h \
+ $(TAO_ROOT)/tao/Union.h \
$(TAO_ROOT)/tao/ObjectIDList.h \
$(TAO_ROOT)/tao/ObjectIDList.i \
$(TAO_ROOT)/tao/WrongTransactionC.h \
@@ -5066,11 +5442,11 @@ endif
$(TAO_ROOT)/orbsvcs/orbsvcs/Sched/sched_export.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecSchedulerC.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminC.i \
- ../lib/Counting_Supplier.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/Channel_Clients.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/Channel_Clients_T.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/Channel_Clients_T.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/Channel_Clients_T.cpp \
+ ../lib/Counting_Supplier.h \
$(ACE_ROOT)/ace/Task.h \
$(ACE_ROOT)/ace/Task.i \
$(ACE_ROOT)/ace/Task_T.h \
@@ -5104,7 +5480,6 @@ endif
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminS.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Event_Channel.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Default_Factory.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Default_Factory.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Gateway.h
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Default_Factory.i
# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/orbsvcs/tests/Event/Basic/control.conf b/TAO/orbsvcs/tests/Event/Basic/control.conf
new file mode 100644
index 00000000000..bfedbdcfa71
--- /dev/null
+++ b/TAO/orbsvcs/tests/Event/Basic/control.conf
@@ -0,0 +1,2 @@
+# $Id$
+static EC_Factory "-ECConsumerControl reactive -ECSupplierControl reactive -ECConsumerControlPeriod 50000 -ECSupplierControlPeriod 50000"
diff --git a/TAO/orbsvcs/tests/Event/Basic/run_test.pl b/TAO/orbsvcs/tests/Event/Basic/run_test.pl
index 7bdd8ab0513..1fd11af7dd7 100755
--- a/TAO/orbsvcs/tests/Event/Basic/run_test.pl
+++ b/TAO/orbsvcs/tests/Event/Basic/run_test.pl
@@ -134,4 +134,13 @@ if ($T->TimedWait (60) == -1) {
$T->Kill (); $T->TimedWait (1);
}
+print STDERR "\n\nControl test\n";
+$T = Process::Create ($prefix . "Control".$EXE_EXT,
+ " -ORBSvcConf control.conf");
+if ($T->TimedWait (60) == -1) {
+ print STDERR "ERROR: Test timedout\n";
+ $status = 1;
+ $T->Kill (); $T->TimedWait (1);
+}
+
exit $status;
diff --git a/TAO/orbsvcs/tests/Event/lib/Counting_Consumer.cpp b/TAO/orbsvcs/tests/Event/lib/Counting_Consumer.cpp
index 5e157f9830d..8fabe810acc 100644
--- a/TAO/orbsvcs/tests/Event/lib/Counting_Consumer.cpp
+++ b/TAO/orbsvcs/tests/Event/lib/Counting_Consumer.cpp
@@ -42,8 +42,15 @@ EC_Counting_Consumer::disconnect (CORBA::Environment &ACE_TRY_ENV)
{
this->supplier_proxy_->disconnect_push_supplier (ACE_TRY_ENV);
ACE_CHECK;
+ this->supplier_proxy_ =
+ RtecEventChannelAdmin::ProxyPushSupplier::_nil ();
}
+ this->deactivate (ACE_TRY_ENV);
+}
+void
+EC_Counting_Consumer::deactivate (CORBA::Environment &ACE_TRY_ENV)
+{
PortableServer::POA_var consumer_poa =
this->_default_POA (ACE_TRY_ENV);
ACE_CHECK;
@@ -53,8 +60,6 @@ EC_Counting_Consumer::disconnect (CORBA::Environment &ACE_TRY_ENV)
consumer_poa->deactivate_object (consumer_id.in (), ACE_TRY_ENV);
ACE_CHECK;
- this->supplier_proxy_ =
- RtecEventChannelAdmin::ProxyPushSupplier::_nil ();
}
void
diff --git a/TAO/orbsvcs/tests/Event/lib/Counting_Consumer.h b/TAO/orbsvcs/tests/Event/lib/Counting_Consumer.h
index e9310e42774..a10262d44f6 100644
--- a/TAO/orbsvcs/tests/Event/lib/Counting_Consumer.h
+++ b/TAO/orbsvcs/tests/Event/lib/Counting_Consumer.h
@@ -42,6 +42,7 @@ public:
const RtecEventChannelAdmin::ConsumerQOS &qos,
CORBA::Environment &ACE_TRY_ENV);
void disconnect (CORBA::Environment &ACE_TRY_ENV);
+ void deactivate (CORBA::Environment &ACE_TRY_ENV);
// Simple connect/disconnect methods..
void dump_results (int expected_count, int tolerance);