diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-03-24 05:20:21 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-03-24 05:20:21 +0000 |
commit | 2f97050c3bcd378495b32f8f7591dc77d4595005 (patch) | |
tree | 40dc3f24fa8cbc5e27ab9553cb6a6f0c144c1741 | |
parent | 687b9e0764e7d8605d72fa01066ab62b55513698 (diff) | |
download | ATCD-2f97050c3bcd378495b32f8f7591dc77d4595005.tar.gz |
ChangeLogTag:Thu Mar 23 21:11:31 2000 Carlos O'Ryan <coryan@uci.edu>
-rw-r--r-- | TAO/ChangeLogs/ChangeLog-02a | 64 | ||||
-rw-r--r-- | TAO/docs/cec_options.html | 10 | ||||
-rw-r--r-- | TAO/docs/ec_options.html | 170 | ||||
-rw-r--r-- | TAO/orbsvcs/tests/Event/Basic/Control.cpp | 205 | ||||
-rw-r--r-- | TAO/orbsvcs/tests/Event/Basic/Control.dsp | 102 | ||||
-rw-r--r-- | TAO/orbsvcs/tests/Event/Basic/Control.h | 54 | ||||
-rw-r--r-- | TAO/orbsvcs/tests/Event/Basic/Makefile | 487 | ||||
-rw-r--r-- | TAO/orbsvcs/tests/Event/Basic/control.conf | 2 | ||||
-rwxr-xr-x | TAO/orbsvcs/tests/Event/Basic/run_test.pl | 9 | ||||
-rw-r--r-- | TAO/orbsvcs/tests/Event/lib/Counting_Consumer.cpp | 9 | ||||
-rw-r--r-- | TAO/orbsvcs/tests/Event/lib/Counting_Consumer.h | 1 |
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); |