summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a82
-rw-r--r--TAO/TAOACE.dsw24
-rw-r--r--TAO/TAOACE_Static.dsw12
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp7
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h9
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.i7
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.h3
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.cpp32
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.h3
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/rtcorba_event_export.h34
-rw-r--r--TAO/orbsvcs/orbsvcs/RTCORBAEvent.dsp199
-rw-r--r--TAO/orbsvcs/orbsvcs/RTCORBAEvent_Static.dsp134
-rw-r--r--TAO/orbsvcs/orbsvcs/RTEvent.dsp8
-rw-r--r--TAO/orbsvcs/orbsvcs/orbsvcs.dsw15
-rw-r--r--TAO/orbsvcs/orbsvcs/orbsvcs_static.dsw16
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/Roundtrip.dsw41
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp22
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/client.dsp116
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp16
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.dsp116
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Group.cpp3
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Group.h2
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/Consumer.h3
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/Loopback_Consumer.h2
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/Loopback_Supplier.h3
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/Makefile3
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/ORB_Holder.h3
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/ORB_Task.cpp37
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/ORB_Task.h40
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/RTCORBA_Setup.cpp4
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/RTCORBA_Setup.h3
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.cpp6
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.h3
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/RT_Class.h7
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/Send_Task.cpp2
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/Send_Task.h2
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/Supplier.h3
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/TAO_RTEC_Perf.dsp244
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/TAO_RTEC_Perf.dsw29
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/rtec_perf_export.h34
-rw-r--r--TAO/tao/Messaging/MessagingC.h2
41 files changed, 1276 insertions, 55 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a
index 42c45e5f1d9..5a93769ee35 100644
--- a/TAO/ChangeLogs/ChangeLog-02a
+++ b/TAO/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,85 @@
+Thu Feb 28 15:12:35 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * orbsvcs/performance-tests/RTEvent/lib/TAO_RTEC_Perf.dsp:
+ * orbsvcs/performance-tests/RTEvent/lib/TAO_RTEC_Perf.dsw:
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/Roundtrip.dsw:
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/client.dsp:
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/server.dsp:
+ Add MSVC project files and workspaces.
+
+ * TAOACE.dsw:
+ * TAOACE_Static.dsw:
+ * orbsvcs/orbsvcs/orbsvcs.dsw:
+ * orbsvcs/orbsvcs/orbsvcs_static.dsw:
+ * orbsvcs/orbsvcs/RTCORBAEvent.dsp:
+ * orbsvcs/orbsvcs/RTCORBAEvent_Static.dsp:
+ Add new project files for the RTCORBAEvent library, and insert
+ the project in the corresponding workspaces.
+
+ * orbsvcs/orbsvcs/Event/EC_Event_Channel.h:
+ * orbsvcs/orbsvcs/Event/EC_Event_Channel.i:
+ * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp:
+ Add PortableServer::RefCountServantBase mixin.
+ Add new method to check if an event channel is getting
+ destroyed.
+
+ * orbsvcs/orbsvcs/Event/rtcorba_event_export.h:
+ * orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.h:
+ * orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.h:
+ Fixed export macros.
+
+ * orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.cpp:
+ Fixed misuse of return statement in void functions.
+
+ * tao/Messaging/MessagingC.h:
+ The code did not link on NT because a couple of CDR operators
+ are declared, but not defined nor used. I removed offending code
+ until Jaiganesh can introduce a complete fix.
+
+ * orbsvcs/orbsvcs/RTEvent.dsp:
+ The RTEvent library needs the TAO_Messaging library to work
+ correctly.
+
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp:
+ Fixed #include for Messaging.h
+ Fixed problems with explicit auto_ptr<> constructors.
+ Create special thread for ORB::run()
+
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp:
+ Fixed #include for Messaging.h
+ Fixed problems with explicit auto_ptr<> constructors.
+ Stop the event loop if the event channel is destroyed.
+
+ * orbsvcs/performance-tests/RTEvent/lib/rtec_perf_export.h:
+ * orbsvcs/performance-tests/RTEvent/lib/Client_Group.h:
+ * orbsvcs/performance-tests/RTEvent/lib/Consumer.h:
+ * orbsvcs/performance-tests/RTEvent/lib/Loopback_Consumer.h:
+ * orbsvcs/performance-tests/RTEvent/lib/Loopback_Supplier.h:
+ * orbsvcs/performance-tests/RTEvent/lib/ORB_Holder.h:
+ * orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.h:
+ * orbsvcs/performance-tests/RTEvent/lib/RT_Class.h:
+ * orbsvcs/performance-tests/RTEvent/lib/RTCORBA_Setup.h:
+ * orbsvcs/performance-tests/RTEvent/lib/Send_Task.h:
+ * orbsvcs/performance-tests/RTEvent/lib/Supplier.h:
+ Create export macro file for the benchmark library.
+ Add export macros to all the classes.
+
+ * orbsvcs/performance-tests/RTEvent/lib/Makefile:
+ * orbsvcs/performance-tests/RTEvent/lib/ORB_Task.h:
+ * orbsvcs/performance-tests/RTEvent/lib/ORB_Task.cpp:
+ Add new files to the Makefile too!
+
+ * orbsvcs/performance-tests/RTEvent/lib/Client_Group.cpp:
+ Fixed event types in the loopback supplier.
+
+ * orbsvcs/performance-tests/RTEvent/lib/RTCORBA_Setup.cpp:
+ Fixed problems with explicit auto_ptr<> constructors.
+ I used ACE_THROW_RETURN() where an ACE_THROW() was needed.
+
+ * orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.cpp:
+ * orbsvcs/performance-tests/RTEvent/lib/Send_Task.cpp:
+ Fixed problems with explicit auto_ptr<> constructors.
+
Thu Feb 28 13:51:30 2002 Jeff Parsons <parsons@cs.wustl.edu>
* TAO_IDL/be/be_interface.cpp:
diff --git a/TAO/TAOACE.dsw b/TAO/TAOACE.dsw
index 82f1ffd7e68..d28a3f7f38e 100644
--- a/TAO/TAOACE.dsw
+++ b/TAO/TAOACE.dsw
@@ -729,6 +729,30 @@ Package=<4>
###############################################################################
+Project: "RTCORBAEvent"=.\orbsvcs\orbsvcs\RTCORBAEvent.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name RTCORBA
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTEvent
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTPortableServer
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Messaging
+ End Project Dependency
+}}}
+
+###############################################################################
+
Project: "RTEvent"=.\orbsvcs\orbsvcs\RTEvent.dsp - Package Owner=<4>
Package=<5>
diff --git a/TAO/TAOACE_Static.dsw b/TAO/TAOACE_Static.dsw
index 72338e96de2..64ce73f1034 100644
--- a/TAO/TAOACE_Static.dsw
+++ b/TAO/TAOACE_Static.dsw
@@ -405,6 +405,18 @@ Package=<4>
###############################################################################
+Project: "RTCORBAEvent_Static"=.\orbsvcs\orbsvcs\RTCORBAEvent_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
Project: "RTCORBA_Static"=.\tao\RTCORBA\TAO_RTCORBA_Static.dsp - Package Owner=<4>
Package=<5>
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp
index 24c4a9ab38a..fac6bcc9996 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp
@@ -30,6 +30,7 @@ TAO_EC_Event_Channel (const TAO_EC_Event_Channel_Attributes& attr,
disconnect_callbacks_ (attr.disconnect_callbacks),
busy_hwm_ (attr.busy_hwm),
max_write_delay_ (attr.max_write_delay)
+ , destroyed_ (0)
{
if (this->factory_ == 0)
{
@@ -112,6 +113,12 @@ TAO_EC_Event_Channel::activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
void
TAO_EC_Event_Channel::shutdown (ACE_ENV_SINGLE_ARG_DECL)
{
+ {
+ ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_);
+ if (this->destroyed_)
+ return;
+ this->destroyed_ = 1;
+ }
this->dispatching_->shutdown ();
this->timeout_generator_->shutdown ();
this->supplier_control_->shutdown ();
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h b/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h
index cf8087ec7d4..9544ae89858 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h
@@ -258,6 +258,9 @@ public:
RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR,
RtecEventChannelAdmin::EventChannel::CANT_REMOVE_OBSERVER));
+ /// Return 1 if the event channel is already destroyed.
+ int destroyed (void);
+
private:
/// The POAs used to activate "supplier-side" and "consumer-side"
/// objects.
@@ -317,6 +320,12 @@ private:
/// suppliers
TAO_EC_ConsumerControl *consumer_control_;
TAO_EC_SupplierControl *supplier_control_;
+
+ /// Mutex to protect the internal state
+ TAO_SYNCH_MUTEX mutex_;
+
+ /// Flag to check if the event channel has been destroyed already
+ int destroyed_;
};
#if defined (__ACE_INLINE__)
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.i b/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.i
index 584b9c287ab..f8e171fcc2d 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.i
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.i
@@ -188,3 +188,10 @@ TAO_EC_Event_Channel::max_write_delay (void) const
{
return this->max_write_delay_;
}
+
+ACE_INLINE int
+TAO_EC_Event_Channel::destroyed (void)
+{
+ ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mutex_, 0);
+ return this->destroyed_;
+}
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.h b/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.h
index e5d4508c2b6..891b19d7b58 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.h
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.h
@@ -16,6 +16,7 @@
#define TAO_EC_RTCORBA_DISPATCHING_H
#include "ace/pre.h"
+#include "rtcorba_event_export.h"
#include "EC_Dispatching.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
@@ -33,7 +34,7 @@ class TAO_EC_Event_Channel;
* @brief RTCORBA-based dispatching strategy
*
*/
-class TAO_RTEvent_Export TAO_EC_RTCORBA_Dispatching : public TAO_EC_Dispatching
+class TAO_RTCORBAEvent_Export TAO_EC_RTCORBA_Dispatching : public TAO_EC_Dispatching
{
public:
/// Constructor
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.cpp
index 28e88b335ec..68b5bc79d99 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.cpp
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.cpp
@@ -90,7 +90,7 @@ TAO_EC_RTCORBA_Factory::create_dispatching (TAO_EC_Event_Channel *)
void
TAO_EC_RTCORBA_Factory::destroy_dispatching (TAO_EC_Dispatching *x)
{
- return this->body_->destroy_dispatching (x);
+ this->body_->destroy_dispatching (x);
}
TAO_EC_Filter_Builder*
@@ -102,7 +102,7 @@ TAO_EC_RTCORBA_Factory::create_filter_builder (TAO_EC_Event_Channel *ec)
void
TAO_EC_RTCORBA_Factory::destroy_filter_builder (TAO_EC_Filter_Builder *x)
{
- return this->body_->destroy_filter_builder (x);
+ this->body_->destroy_filter_builder (x);
}
TAO_EC_Supplier_Filter_Builder*
@@ -114,7 +114,7 @@ TAO_EC_RTCORBA_Factory::create_supplier_filter_builder (TAO_EC_Event_Channel *ec
void
TAO_EC_RTCORBA_Factory::destroy_supplier_filter_builder (TAO_EC_Supplier_Filter_Builder *x)
{
- return this->body_->destroy_supplier_filter_builder (x);
+ this->body_->destroy_supplier_filter_builder (x);
}
TAO_EC_ConsumerAdmin*
@@ -126,7 +126,7 @@ TAO_EC_RTCORBA_Factory::create_consumer_admin (TAO_EC_Event_Channel *ec)
void
TAO_EC_RTCORBA_Factory::destroy_consumer_admin (TAO_EC_ConsumerAdmin *x)
{
- return this->body_->destroy_consumer_admin (x);
+ this->body_->destroy_consumer_admin (x);
}
TAO_EC_SupplierAdmin*
@@ -138,7 +138,7 @@ TAO_EC_RTCORBA_Factory::create_supplier_admin (TAO_EC_Event_Channel *ec)
void
TAO_EC_RTCORBA_Factory::destroy_supplier_admin (TAO_EC_SupplierAdmin *x)
{
- return this->body_->destroy_supplier_admin (x);
+ this->body_->destroy_supplier_admin (x);
}
TAO_EC_ProxyPushSupplier*
@@ -150,7 +150,7 @@ TAO_EC_RTCORBA_Factory::create_proxy_push_supplier (TAO_EC_Event_Channel *ec)
void
TAO_EC_RTCORBA_Factory::destroy_proxy_push_supplier (TAO_EC_ProxyPushSupplier *x)
{
- return this->body_->destroy_proxy_push_supplier (x);
+ this->body_->destroy_proxy_push_supplier (x);
}
TAO_EC_ProxyPushConsumer*
@@ -162,7 +162,7 @@ TAO_EC_RTCORBA_Factory::create_proxy_push_consumer (TAO_EC_Event_Channel *ec)
void
TAO_EC_RTCORBA_Factory::destroy_proxy_push_consumer (TAO_EC_ProxyPushConsumer *x)
{
- return this->body_->destroy_proxy_push_consumer (x);
+ this->body_->destroy_proxy_push_consumer (x);
}
TAO_EC_Timeout_Generator*
@@ -174,7 +174,7 @@ TAO_EC_RTCORBA_Factory::create_timeout_generator (TAO_EC_Event_Channel *ec)
void
TAO_EC_RTCORBA_Factory::destroy_timeout_generator (TAO_EC_Timeout_Generator *x)
{
- return this->body_->destroy_timeout_generator (x);
+ this->body_->destroy_timeout_generator (x);
}
TAO_EC_ObserverStrategy*
@@ -186,7 +186,7 @@ TAO_EC_RTCORBA_Factory::create_observer_strategy (TAO_EC_Event_Channel *ec)
void
TAO_EC_RTCORBA_Factory::destroy_observer_strategy (TAO_EC_ObserverStrategy *x)
{
- return this->body_->destroy_observer_strategy (x);
+ this->body_->destroy_observer_strategy (x);
}
TAO_EC_Scheduling_Strategy*
@@ -198,7 +198,7 @@ TAO_EC_RTCORBA_Factory::create_scheduling_strategy (TAO_EC_Event_Channel *ec)
void
TAO_EC_RTCORBA_Factory::destroy_scheduling_strategy (TAO_EC_Scheduling_Strategy* x)
{
- return this->body_->destroy_scheduling_strategy (x);
+ this->body_->destroy_scheduling_strategy (x);
}
TAO_EC_ProxyPushConsumer_Collection*
@@ -210,7 +210,7 @@ TAO_EC_RTCORBA_Factory::create_proxy_push_consumer_collection (TAO_EC_Event_Chan
void
TAO_EC_RTCORBA_Factory::destroy_proxy_push_consumer_collection (TAO_EC_ProxyPushConsumer_Collection *x)
{
- return this->body_->destroy_proxy_push_consumer_collection (x);
+ this->body_->destroy_proxy_push_consumer_collection (x);
}
TAO_EC_ProxyPushSupplier_Collection*
@@ -222,7 +222,7 @@ TAO_EC_RTCORBA_Factory::create_proxy_push_supplier_collection (TAO_EC_Event_Chan
void
TAO_EC_RTCORBA_Factory::destroy_proxy_push_supplier_collection (TAO_EC_ProxyPushSupplier_Collection *x)
{
- return this->body_->destroy_proxy_push_supplier_collection (x);
+ this->body_->destroy_proxy_push_supplier_collection (x);
}
ACE_Lock*
@@ -234,7 +234,7 @@ TAO_EC_RTCORBA_Factory::create_consumer_lock (void)
void
TAO_EC_RTCORBA_Factory::destroy_consumer_lock (ACE_Lock* x)
{
- return this->body_->destroy_consumer_lock (x);
+ this->body_->destroy_consumer_lock (x);
}
ACE_Lock*
@@ -246,7 +246,7 @@ TAO_EC_RTCORBA_Factory::create_supplier_lock (void)
void
TAO_EC_RTCORBA_Factory::destroy_supplier_lock (ACE_Lock* x)
{
- return this->body_->destroy_supplier_lock (x);
+ this->body_->destroy_supplier_lock (x);
}
TAO_EC_ConsumerControl*
@@ -258,7 +258,7 @@ TAO_EC_RTCORBA_Factory::create_consumer_control (TAO_EC_Event_Channel* ec)
void
TAO_EC_RTCORBA_Factory::destroy_consumer_control (TAO_EC_ConsumerControl* x)
{
- return this->body_->destroy_consumer_control (x);
+ this->body_->destroy_consumer_control (x);
}
TAO_EC_SupplierControl*
@@ -270,7 +270,7 @@ TAO_EC_RTCORBA_Factory::create_supplier_control (TAO_EC_Event_Channel* ec)
void
TAO_EC_RTCORBA_Factory::destroy_supplier_control (TAO_EC_SupplierControl* x)
{
- return this->body_->destroy_supplier_control (x);
+ this->body_->destroy_supplier_control (x);
}
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.h b/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.h
index 6c79ca45cae..f45deda2129 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.h
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.h
@@ -16,6 +16,7 @@
#define TAO_EC_RTCORBA_FACTORY_H
#include "ace/pre.h"
+#include "rtcorba_event_export.h"
#include "EC_Factory.h"
#include "tao/RTCORBA/RTCORBA.h"
@@ -29,7 +30,7 @@
* @brief Decorate an EC_Factory to use the EC_RTCORBA_Dispatching
* module.
*/
-class TAO_RTEvent_Export TAO_EC_RTCORBA_Factory : public TAO_EC_Factory
+class TAO_RTCORBAEvent_Export TAO_EC_RTCORBA_Factory : public TAO_EC_Factory
{
public:
/// Constructor
diff --git a/TAO/orbsvcs/orbsvcs/Event/rtcorba_event_export.h b/TAO/orbsvcs/orbsvcs/Event/rtcorba_event_export.h
new file mode 100644
index 00000000000..874ad7899fb
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/Event/rtcorba_event_export.h
@@ -0,0 +1,34 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl
+// ------------------------------
+#ifndef TAO_RTCORBAEVENT_EXPORT_H
+#define TAO_RTCORBAEVENT_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (TAO_RTCORBAEVENT_HAS_DLL)
+# define TAO_RTCORBAEVENT_HAS_DLL 1
+#endif /* ! TAO_RTCORBAEVENT_HAS_DLL */
+
+#if defined (TAO_RTCORBAEVENT_HAS_DLL) && (TAO_RTCORBAEVENT_HAS_DLL == 1)
+# if defined (TAO_RTCORBAEVENT_BUILD_DLL)
+# define TAO_RTCORBAEvent_Export ACE_Proper_Export_Flag
+# define TAO_RTCORBAEVENT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define TAO_RTCORBAEVENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* TAO_RTCORBAEVENT_BUILD_DLL */
+# define TAO_RTCORBAEvent_Export ACE_Proper_Import_Flag
+# define TAO_RTCORBAEVENT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define TAO_RTCORBAEVENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* TAO_RTCORBAEVENT_BUILD_DLL */
+#else /* TAO_RTCORBAEVENT_HAS_DLL == 1 */
+# define TAO_RTCORBAEvent_Export
+# define TAO_RTCORBAEVENT_SINGLETON_DECLARATION(T)
+# define TAO_RTCORBAEVENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* TAO_RTCORBAEVENT_HAS_DLL == 1 */
+
+#endif /* TAO_RTCORBAEVENT_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/orbsvcs/orbsvcs/RTCORBAEvent.dsp b/TAO/orbsvcs/orbsvcs/RTCORBAEvent.dsp
new file mode 100644
index 00000000000..13cadb594a9
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/RTCORBAEvent.dsp
@@ -0,0 +1,199 @@
+# Microsoft Developer Studio Project File - Name="RTCORBAEvent" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=RTCORBAEvent - Win32 MFC 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 "RTCORBAEvent.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 "RTCORBAEvent.mak" CFG="RTCORBAEvent - Win32 MFC Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "RTCORBAEvent - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "RTCORBAEvent - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "RTCORBAEvent - Win32 MFC Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "RTCORBAEvent - Win32 MFC Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "RTCORBAEvent - 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 ""
+# PROP Intermediate_Dir "DLL\Release\RTCORBAEvent"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "RTCORBAEvent_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /I "../../" /I "../../../" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "TAO_RTCORBAEVENT_BUILD_DLL" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# 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 /dll /machine:I386
+# ADD LINK32 TAO_RTPortableServer.lib TAO_RTCORBA.lib TAO_Messaging.lib TAO_Svc_Utils.lib ace.lib TAO.lib TAO_PortableServer.lib /nologo /dll /machine:I386 /out:"..\..\..\bin\TAO_RTCORBAEvent.dll" /libpath:"..\..\tao\Messaging" /libpath:"..\..\tao\RTPortableServer" /libpath:"..\..\tao\RTCORBA" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
+
+!ELSEIF "$(CFG)" == "RTCORBAEvent - 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 "DLL\Debug\RTCORBAEvent"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "RTCORBAEvent_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /I "../../" /I "../../../" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "TAO_RTCORBAEVENT_BUILD_DLL" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# 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 /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 TAO_RTPortableServerd.lib TAO_RTCORBAd.lib TAO_Svc_Utilsd.lib TAOd.lib aced.lib TAO_PortableServerd.lib TAO_Messagingd.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\bin\TAO_RTCORBAEventd.dll" /pdbtype:sept /libpath:"..\..\tao\Messaging" /libpath:"..\..\tao\RTPortableServer" /libpath:"..\..\tao\RTCORBA" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
+
+!ELSEIF "$(CFG)" == "RTCORBAEvent - Win32 MFC Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "RTCORBAEvent___Win32_MFC_Debug"
+# PROP BASE Intermediate_Dir "RTCORBAEvent___Win32_MFC_Debug"
+# PROP BASE Ignore_Export_Lib 0
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "DLL\Debug\RTCORBAEventMFC"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /I "../../" /I "../../../" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "TAO_RTCORBAEVENT_BUILD_DLL" /FD /c
+# SUBTRACT BASE CPP /YX
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /I "../../" /I "../../../" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "TAO_RTCORBAEVENT_BUILD_DLL" /D ACE_HAS_MFC=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# 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 TAOd.lib aced.lib TAO_Svc_Utilsd.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\bin\TAO_RTCORBAEventd.dll" /pdbtype:sept /libpath:"..\..\tao" /libpath:"..\..\..\ace"
+# ADD LINK32 TAO_RTPortableServermfcd.lib TAO_RTCORBAmfcd.lib TAOmfcd.lib acemfcd.lib TAO_Svc_Utilsmfcd.lib TAO_PortableServermfcd.lib TAO_Messagingmfcd.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\bin\TAO_RTCORBAEventmfcd.dll" /pdbtype:sept /libpath:"..\..\tao\Messaging" /libpath:"..\..\tao\RTPortableServer" /libpath:"..\..\tao\RTCORBA" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
+
+!ELSEIF "$(CFG)" == "RTCORBAEvent - Win32 MFC Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "RTCORBAEvent___Win32_MFC_Release"
+# PROP BASE Intermediate_Dir "RTCORBAEvent___Win32_MFC_Release"
+# PROP BASE Ignore_Export_Lib 0
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "DLL\Release\RTCORBAEventMFC"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "../" /I "../../" /I "../../../" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "TAO_RTCORBAEVENT_BUILD_DLL" /FD /c
+# SUBTRACT BASE CPP /YX
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /I "../../" /I "../../../" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "TAO_RTCORBAEVENT_BUILD_DLL" /D ACE_HAS_MFC=1 /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# 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 ace.lib TAO.lib TAO_Svc_Utils.lib /nologo /dll /machine:I386 /out:"..\..\..\bin\TAO_RTCORBAEvent.dll" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
+# ADD LINK32 TAO_RTPortableServermfc.lib TAO_RTCORBAmfc.lib acemfc.lib TAOmfc.lib TAO_Svc_Utilsmfc.lib TAO_PortableServermfc.lib TAO_Messagingmfc.lib /nologo /dll /machine:I386 /out:"..\..\..\bin\TAO_RTCORBAEventmfc.dll" /libpath:"..\..\tao\Messaging" /libpath:"..\..\tao\RTPortableServer" /libpath:"..\..\tao\RTCORBA" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "RTCORBAEvent - Win32 Release"
+# Name "RTCORBAEvent - Win32 Debug"
+# Name "RTCORBAEvent - Win32 MFC Debug"
+# Name "RTCORBAEvent - Win32 MFC Release"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\Event\EC_RTCORBA_Dispatching.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Event\EC_RTCORBA_Factory.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Event\EC_RTCORBA_Dispatching.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Event\EC_RTCORBA_Factory.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter ".i"
+# Begin Source File
+
+SOURCE=.\Event\EC_RTCORBA_Dispatching.inl
+# End Source File
+# Begin Source File
+
+SOURCE=.\Event\EC_RTCORBA_Factory.inl
+# End Source File
+# End Group
+# Begin Group "Template Files"
+
+# PROP Default_Filter ""
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "rc"
+# End Group
+# End Target
+# End Project
diff --git a/TAO/orbsvcs/orbsvcs/RTCORBAEvent_Static.dsp b/TAO/orbsvcs/orbsvcs/RTCORBAEvent_Static.dsp
new file mode 100644
index 00000000000..dea7787f41d
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/RTCORBAEvent_Static.dsp
@@ -0,0 +1,134 @@
+# Microsoft Developer Studio Project File - Name="RTCORBAEvent_Static" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Static Library" 0x0104
+
+CFG=RTCORBAEvent_Static - Win32 Static 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 "RTCORBAEvent_Static.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 "RTCORBAEvent_Static.mak" CFG="RTCORBAEvent_Static - Win32 Static Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "RTCORBAEvent_Static - Win32 Static Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "RTCORBAEvent_Static - Win32 Static Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "RTCORBAEvent_Static - Win32 Static 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 ""
+# PROP Intermediate_Dir "LIB\Release\RTCORBAEvent"
+# PROP Target_Dir ""
+LINK32=link.exe -lib
+MTL=midl.exe
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /I "../../" /I "../../../" /D "_LIB" /D "_MBCS" /D "TAO_AS_STATIC_LIBS" /D "NDEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"TAO_RTCORBAEvents.lib"
+
+!ELSEIF "$(CFG)" == "RTCORBAEvent_Static - Win32 Static 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 "LIB\Debug\RTCORBAEvent"
+# PROP Target_Dir ""
+LINK32=link.exe -lib
+MTL=midl.exe
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /I "../../" /I "../../../" /D "_LIB" /D "_MBCS" /D "TAO_AS_STATIC_LIBS" /D "_DEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"TAO_RTCORBAEventsd.lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "RTCORBAEvent_Static - Win32 Static Release"
+# Name "RTCORBAEvent_Static - Win32 Static Debug"
+# Begin Group "Template Files"
+
+# PROP Default_Filter ""
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i"
+# Begin Source File
+
+SOURCE=.\Event\EC_RTCORBA_Dispatching.inl
+# End Source File
+# Begin Source File
+
+SOURCE=.\Event\EC_RTCORBA_Factory.inl
+# End Source File
+# End Group
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp"
+# Begin Source File
+
+SOURCE=.\Event\EC_RTCORBA_Dispatching.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Event\EC_RTCORBA_Factory.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\Event\EC_RTCORBA_Dispatching.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Event\EC_RTCORBA_Factory.h
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/orbsvcs/orbsvcs/RTEvent.dsp b/TAO/orbsvcs/orbsvcs/RTEvent.dsp
index 9cd02301f2e..95a9fdf133e 100644
--- a/TAO/orbsvcs/orbsvcs/RTEvent.dsp
+++ b/TAO/orbsvcs/orbsvcs/RTEvent.dsp
@@ -56,7 +56,7 @@ BSC32=bscmake.exe
# 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 /dll /machine:I386
-# ADD LINK32 TAO_Svc_Utils.lib ace.lib TAO.lib TAO_PortableServer.lib /nologo /dll /machine:I386 /out:"..\..\..\bin\TAO_RTEvent.dll" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
+# ADD LINK32 TAO_Svc_Utils.lib ace.lib TAO.lib TAO_PortableServer.lib TAO_Messaging.lib /nologo /dll /machine:I386 /out:"..\..\..\bin\TAO_RTEvent.dll" /libpath:"..\..\tao\Messaging" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
!ELSEIF "$(CFG)" == "RTEvent - Win32 Debug"
@@ -83,7 +83,7 @@ BSC32=bscmake.exe
# 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 /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 TAO_Svc_Utilsd.lib TAOd.lib aced.lib TAO_PortableServerd.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\bin\TAO_RTEventd.dll" /pdbtype:sept /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
+# ADD LINK32 TAO_Svc_Utilsd.lib TAOd.lib aced.lib TAO_PortableServerd.lib TAO_Messagingd.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\bin\TAO_RTEventd.dll" /pdbtype:sept /libpath:"..\..\tao\Messaging" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
!ELSEIF "$(CFG)" == "RTEvent - Win32 MFC Debug"
@@ -112,7 +112,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 TAOd.lib aced.lib TAO_Svc_Utilsd.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\bin\TAO_RTEventd.dll" /pdbtype:sept /libpath:"..\..\tao" /libpath:"..\..\..\ace"
-# ADD LINK32 TAOmfcd.lib acemfcd.lib TAO_Svc_Utilsmfcd.lib TAO_PortableServermfcd.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\bin\TAO_RTEventmfcd.dll" /pdbtype:sept /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
+# ADD LINK32 TAOmfcd.lib acemfcd.lib TAO_Svc_Utilsmfcd.lib TAO_PortableServermfcd.lib TAO_Messagingmfcd.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\bin\TAO_RTEventmfcd.dll" /pdbtype:sept /libpath:"..\..\tao\Messaging" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
!ELSEIF "$(CFG)" == "RTEvent - Win32 MFC Release"
@@ -141,7 +141,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 ace.lib TAO.lib TAO_Svc_Utils.lib /nologo /dll /machine:I386 /out:"..\..\..\bin\TAO_RTEvent.dll" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
-# ADD LINK32 acemfc.lib TAOmfc.lib TAO_Svc_Utilsmfc.lib TAO_PortableServermfc.lib /nologo /dll /machine:I386 /out:"..\..\..\bin\TAO_RTEventmfc.dll" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
+# ADD LINK32 acemfc.lib TAOmfc.lib TAO_Svc_Utilsmfc.lib TAO_PortableServermfc.lib TAO_Messagingmfc.lib /nologo /dll /machine:I386 /out:"..\..\..\bin\TAO_RTEventmfc.dll" /libpath:"..\..\tao\Messaging" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
!ENDIF
diff --git a/TAO/orbsvcs/orbsvcs/orbsvcs.dsw b/TAO/orbsvcs/orbsvcs/orbsvcs.dsw
index 1f305a8c21c..ed7df553eda 100644
--- a/TAO/orbsvcs/orbsvcs/orbsvcs.dsw
+++ b/TAO/orbsvcs/orbsvcs/orbsvcs.dsw
@@ -222,6 +222,21 @@ Package=<4>
###############################################################################
+Project: "RTCORBAEvent"=.\RTCORBAEvent.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name RTEvent
+ End Project Dependency
+}}}
+
+###############################################################################
+
Project: "RTEvent"=.\RTEvent.dsp - Package Owner=<4>
Package=<5>
diff --git a/TAO/orbsvcs/orbsvcs/orbsvcs_static.dsw b/TAO/orbsvcs/orbsvcs/orbsvcs_static.dsw
index e7a0380d8d7..d704efe9dfb 100644
--- a/TAO/orbsvcs/orbsvcs/orbsvcs_static.dsw
+++ b/TAO/orbsvcs/orbsvcs/orbsvcs_static.dsw
@@ -123,7 +123,7 @@ Package=<4>
###############################################################################
-Project: "Fault Tolerance"=.\Fault_Tolerance.dsp - Package Owner=<4>
+Project: "FT ORB"=.\FT_ORB.dsp - Package Owner=<4>
Package=<5>
{{{
@@ -135,7 +135,7 @@ Package=<4>
###############################################################################
-Project: "FT_ORB"=.\FT_ORB.dsp - Package Owner=<4>
+Project: "Fault Tolerance"=.\Fault_Tolerance.dsp - Package Owner=<4>
Package=<5>
{{{
@@ -159,6 +159,18 @@ Package=<4>
###############################################################################
+Project: "RTCORBAEvent_Static"=.\RTCORBAEvent_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
Project: "RTEvent_Static"=.\RTEvent_Static.dsp - Package Owner=<4>
Package=<5>
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/Roundtrip.dsw b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/Roundtrip.dsw
new file mode 100644
index 00000000000..5a7717ec476
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/Roundtrip.dsw
@@ -0,0 +1,41 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "RTEC Perf Roundtrip Client"=.\client.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "RTEC Perf Roundtrip Server"=.\server.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp
index 7263ca2b43b..edbd54b29bc 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp
@@ -7,10 +7,11 @@
#include "RTCORBA_Setup.h"
#include "Send_Task.h"
#include "Client_Group.h"
+#include "ORB_Task.h"
#include "orbsvcs/Event_Service_Constants.h"
-#include "tao/Messaging.h"
+#include "tao/Messaging/Messaging.h"
#include "tao/Strategies/advanced_resource.h"
#include "tao/RTCORBA/Priority_Mapping_Manager.h"
#include "tao/RTCORBA/Continuous_Priority_Mapping.h"
@@ -125,9 +126,10 @@ int main (int argc, char *argv[])
auto_ptr<RTCORBA_Setup> rtcorba_setup;
if (use_rt_corba)
{
- rtcorba_setup = new RTCORBA_Setup (orb,
- test_scheduling
- ACE_ENV_ARG_PARAMETER);
+ rtcorba_setup =
+ auto_ptr<RTCORBA_Setup> (new RTCORBA_Setup (orb,
+ test_scheduling
+ ACE_ENV_ARG_PARAMETER));
ACE_TRY_CHECK;
}
@@ -184,6 +186,13 @@ int main (int argc, char *argv[])
ACE_DEBUG ((LM_DEBUG, "Finished EC configuration and activation\n"));
+ ORB_Task orb_task (orb);
+ orb_task.activate (test_scheduling.thr_sched_class ()
+ | THR_NEW_LWP
+ | THR_JOINABLE,
+ 1, 1,
+ test_scheduling.priority_high ());
+
ACE_Thread_Manager my_thread_manager;
int thread_count = 1;
@@ -323,6 +332,11 @@ int main (int argc, char *argv[])
ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
+ orb->shutdown (0 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb_task.wait ();
+
orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
}
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/client.dsp b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/client.dsp
new file mode 100644
index 00000000000..aa6729a53a5
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/client.dsp
@@ -0,0 +1,116 @@
+# Microsoft Developer Studio Project File - Name="RTEC Perf Roundtrip Client" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=RTEC Perf Roundtrip Client - 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 "client.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 "client.mak" CFG="RTEC Perf Roundtrip Client - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "RTEC Perf Roundtrip Client - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "RTEC Perf Roundtrip Client - 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)" == "RTEC Perf Roundtrip Client - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release\client"
+# PROP BASE Intermediate_Dir "Release\client"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release\client"
+# PROP Intermediate_Dir "Release\client"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE CPP /nologo /W3 /GX /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../../../" /I "../../../" /I "../../" /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "NDEBUG" /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 ../../../../ace/ACE.lib ../../../tao/TAO.lib ../../../tao/PortableServer/TAO_PortableServer.lib ../../../tao/Strategies/TAO_Strategies.lib ../../../tao/IORTable/TAO_IORTable.lib ../../orbsvcs/TAO_CosNaming.lib ../../orbsvcs/TAO_RTEvent.lib ../../orbsvcs/TAO_Svc_Utils.lib /nologo /subsystem:console /machine:I386 /out:"client.exe"
+
+!ELSEIF "$(CFG)" == "RTEC Perf Roundtrip Client - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir ""
+# PROP BASE Intermediate_Dir "Debug\client"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug\client"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../../" /I "../../../" /I "../../" /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "_DEBUG" /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 ../../../../ace/ACEd.lib ../../../tao/TAOd.lib ../../../tao/PortableServer/TAO_PortableServerd.lib ../../../tao/Strategies/TAO_Strategiesd.lib ../../../tao/IORTable/TAO_IORTabled.lib ../../orbsvcs/TAO_CosNamingd.lib ../../orbsvcs/TAO_RTEventd.lib ../../orbsvcs/TAO_Svc_Utilsd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "RTEC Perf Roundtrip Client - Win32 Release"
+# Name "RTEC Perf Roundtrip Client - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
+# Begin Source File
+
+SOURCE=.\client.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;fi;fd"
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl;pidl"
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "inl;i"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp
index 03430524433..cc9a3b71f6e 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp
@@ -12,7 +12,7 @@
#include "tao/PortableServer/PortableServer.h"
// #include "tao/RTPortableServer/RTPortableServer.h"
#include "tao/Strategies/advanced_resource.h"
-#include "tao/Messaging.h"
+#include "tao/Messaging/Messaging.h"
#include "ace/Get_Opt.h"
#include "ace/Auto_Ptr.h"
@@ -68,9 +68,10 @@ int main (int argc, char *argv[])
auto_ptr<RTCORBA_Setup> rtcorba_setup;
if (use_rt_corba)
{
- rtcorba_setup = new RTCORBA_Setup (orb,
- test_scheduling
- ACE_ENV_ARG_PARAMETER);
+ rtcorba_setup =
+ auto_ptr<RTCORBA_Setup> (new RTCORBA_Setup (orb,
+ test_scheduling
+ ACE_ENV_ARG_PARAMETER));
ACE_TRY_CHECK;
}
@@ -145,8 +146,11 @@ int main (int argc, char *argv[])
poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
- orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
+ do {
+ ACE_Time_Value tv (1, 0);
+ orb->run (tv ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ } while (ec_impl->destroyed () == 0);
ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
}
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.dsp b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.dsp
new file mode 100644
index 00000000000..9d45b3e4227
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.dsp
@@ -0,0 +1,116 @@
+# Microsoft Developer Studio Project File - Name="RTEC Perf Roundtrip Server" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=RTEC Perf Roundtrip Server - 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 "server.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 "server.mak" CFG="RTEC Perf Roundtrip Server - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "RTEC Perf Roundtrip Server - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "RTEC Perf Roundtrip Server - 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)" == "RTEC Perf Roundtrip Server - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release\server"
+# PROP BASE Intermediate_Dir "Release\server"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release\server"
+# PROP Intermediate_Dir "Release\server"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE CPP /nologo /W3 /GX /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../../../" /I "../../../" /I "../../" /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "NDEBUG" /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 ../../../../ace/ACE.lib ../../../tao/TAO.lib ../../../tao/PortableServer/TAO_PortableServer.lib ../../../tao/Strategies/TAO_Strategies.lib ../../../tao/IORTable/TAO_IORTable.lib ../../orbsvcs/TAO_CosNaming.lib ../../orbsvcs/TAO_RTEvent.lib ../../orbsvcs/TAO_Svc_Utils.lib /nologo /subsystem:console /machine:I386 /out:"server.exe"
+
+!ELSEIF "$(CFG)" == "RTEC Perf Roundtrip Server - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir ""
+# PROP BASE Intermediate_Dir "Debug\server"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug\server"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../../" /I "../../../" /I "../../" /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "_DEBUG" /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 ../../../../ace/ACEd.lib ../../../tao/TAOd.lib ../../../tao/PortableServer/TAO_PortableServerd.lib ../../../tao/Strategies/TAO_Strategiesd.lib ../../../tao/IORTable/TAO_IORTabled.lib ../../orbsvcs/TAO_CosNamingd.lib ../../orbsvcs/TAO_RTEventd.lib ../../orbsvcs/TAO_Svc_Utilsd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "RTEC Perf Roundtrip Server - Win32 Release"
+# Name "RTEC Perf Roundtrip Server - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
+# Begin Source File
+
+SOURCE=.\server.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;fi;fd"
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl;pidl"
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "inl;i"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Group.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Group.cpp
index 7e951f4a8f2..bca55d496b3 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Group.cpp
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Group.cpp
@@ -30,7 +30,7 @@ Client_Group::init (CORBA::Long experiment_id,
workload_in_usecs,
gsf);
this->loopback_supplier_ = new Loopback_Supplier (experiment_id,
- base_event_type);
+ base_event_type + 1);
this->loopback_consumer_ = new Loopback_Consumer (experiment_id,
base_event_type,
loopback_supplier_.in ());
@@ -70,4 +70,3 @@ Client_Group::disconnect (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
Auto_Disconnect<Loopback_Supplier> loopback_supplier_disconnect (this->loopback_supplier_);
Auto_Disconnect<Loopback_Consumer> loopback_consumer_disconnect (this->loopback_consumer_);
}
-
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Group.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Group.h
index 96876cbeb6d..3072f645e5a 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Group.h
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Group.h
@@ -26,7 +26,7 @@
* @brief Simplify the initialization of a Supplier/Consumer pair
* connected through a Loopback.
*/
-class Client_Group
+class TAO_RTEC_Perf_Export Client_Group
{
public:
/// Constructor
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Consumer.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/Consumer.h
index e6ad2d7cd9c..f6234c4ed19 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Consumer.h
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Consumer.h
@@ -8,6 +8,7 @@
#ifndef TAO_PERF_RTEC_CONSUMER_H
#define TAO_PERF_RTEC_CONSUMER_H
+#include "rtec_perf_export.h"
#include "orbsvcs/RtecEventCommS.h"
#include "orbsvcs/RtecEventChannelAdminC.h"
@@ -23,7 +24,7 @@
* @brief Implement a simple consumer to keep track of the latency
*
*/
-class Consumer
+class TAO_RTEC_Perf_Export Consumer
: public virtual POA_RtecEventComm::PushConsumer
, public virtual PortableServer::RefCountServantBase
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Loopback_Consumer.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/Loopback_Consumer.h
index 85bf2716d31..377858ff309 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Loopback_Consumer.h
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Loopback_Consumer.h
@@ -23,7 +23,7 @@
* @brief Implement a simple consumer to keep track of the latency
*
*/
-class Loopback_Consumer
+class TAO_RTEC_Perf_Export Loopback_Consumer
: public virtual POA_RtecEventComm::PushConsumer
, public virtual PortableServer::RefCountServantBase
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Loopback_Supplier.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/Loopback_Supplier.h
index cfbafb72398..87599366aef 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Loopback_Supplier.h
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Loopback_Supplier.h
@@ -9,6 +9,7 @@
#ifndef TAO_RTEC_LOOPBACK_SUPPLIER_H
#define TAO_RTEC_LOOPBACK_SUPPLIER_H
+#include "rtec_perf_export.h"
#include "orbsvcs/RtecEventCommS.h"
#include "orbsvcs/RtecEventChannelAdminC.h"
@@ -22,7 +23,7 @@
* @brief Implement a simple supplier to keep track of the latency
*
*/
-class Loopback_Supplier
+class TAO_RTEC_Perf_Export Loopback_Supplier
: public virtual POA_RtecEventComm::PushSupplier
, public virtual PortableServer::RefCountServantBase
{
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Makefile b/TAO/orbsvcs/performance-tests/RTEvent/lib/Makefile
index d55c0c7845f..be3e0ee5d79 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Makefile
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Makefile
@@ -35,7 +35,8 @@ SRCS = \
RTEC_Initializer \
RTCORBA_Setup \
Send_Task \
- Client_Group
+ Client_Group \
+ ORB_Task
TEMPLATE_SOURCES = \
Servant_var \
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/ORB_Holder.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/ORB_Holder.h
index cc6a2750703..96aed38f041 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/lib/ORB_Holder.h
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/ORB_Holder.h
@@ -9,6 +9,7 @@
#ifndef TAO_PERF_RTEC_ORB_HOLDER_H
#define TAO_PERF_RTEC_ORB_HOLDER_H
+#include "rtec_perf_export.h"
#include "tao/ORB.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
@@ -21,7 +22,7 @@
* @brief Implement a helper class to initialize and destroy an ORB.
*
*/
-class ORB_Holder
+class TAO_RTEC_Perf_Export ORB_Holder
{
public:
/// Constructor
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/ORB_Task.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/ORB_Task.cpp
new file mode 100644
index 00000000000..9cc6170682f
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/ORB_Task.cpp
@@ -0,0 +1,37 @@
+/**
+ * @file ORB_Task.cpp
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan <coryan@uci.edu>
+ */
+
+#include "ORB_Task.h"
+
+ACE_RCSID(TAO_PERF_RTEC, ORB_Task, "$Id$")
+
+ORB_Task::ORB_Task (CORBA::ORB_ptr orb)
+ : orb_ (CORBA::ORB::_duplicate (orb))
+{
+}
+
+int
+ORB_Task::svc (void)
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ this->orb_->run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ return -1;
+ }
+ ACE_ENDTRY;
+ return 0;
+}
+
+#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/performance-tests/RTEvent/lib/ORB_Task.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/ORB_Task.h
new file mode 100644
index 00000000000..1ecffc5f4f8
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/ORB_Task.h
@@ -0,0 +1,40 @@
+/**
+ * @file ORB_Task.h
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan <coryan@uci.edu>
+ */
+
+#ifndef TAO_PERF_RTEC_ORB_TASK_H
+#define TAO_PERF_RTEC_ORB_TASK_H
+
+#include "rtec_perf_export.h"
+#include "tao/ORB.h"
+#include "ace/Task.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+/**
+ * @class ORB_Task
+ *
+ * @brief Implement a simple ACE_Task to send the events
+ *
+ */
+class TAO_RTEC_Perf_Export ORB_Task : public ACE_Task_Base
+{
+public:
+ /// Constructor
+ ORB_Task (CORBA::ORB_ptr orb);
+
+ /// Run the event loop
+ int svc (void);
+
+private:
+ CORBA::ORB_var orb_;
+};
+
+
+#endif /* TAO_PERF_RTEC_ORB_TASK_H */
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTCORBA_Setup.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTCORBA_Setup.cpp
index ef9f3d095de..6a3d508c11d 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTCORBA_Setup.cpp
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTCORBA_Setup.cpp
@@ -32,7 +32,7 @@ RTCORBA_Setup::RTCORBA_Setup (CORBA::ORB_ptr orb,
ACE_CHECK;
this->priority_mapping_ =
- new TAO_Continuous_Priority_Mapping (rtclass.prc_sched_class ());
+ auto_ptr<RTCORBA::PriorityMapping> (new TAO_Continuous_Priority_Mapping (rtclass.prc_sched_class ()));
this->priority_mapping_manager_->mapping (this->priority_mapping_.get ());
@@ -72,7 +72,7 @@ RTCORBA_Setup::setup_lane (int priority,
{
if (!this->priority_mapping_->to_CORBA (priority,
lane.lane_priority))
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ ACE_THROW (CORBA::BAD_PARAM ());
lane.static_threads = 1;
lane.dynamic_threads = 0;
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTCORBA_Setup.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTCORBA_Setup.h
index b6a524521df..65dbb845fa1 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTCORBA_Setup.h
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTCORBA_Setup.h
@@ -9,6 +9,7 @@
#ifndef TAO_PERF_RTEC_RTCORBA_SETUP_H
#define TAO_PERF_RTEC_RTCORBA_SETUP_H
+#include "rtec_perf_export.h"
#include "tao/RTCORBA/RTCORBA.h"
#include "tao/RTCORBA/Priority_Mapping_Manager.h"
#include "ace/Auto_Ptr.h"
@@ -25,7 +26,7 @@ class RT_Class;
* @brief Simplify the initialization of performance tests.
*
*/
-class RTCORBA_Setup
+class TAO_RTEC_Perf_Export RTCORBA_Setup
{
public:
/// Constructor
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.cpp
index 636ac0aed1c..a7dcf0f15b6 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.cpp
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.cpp
@@ -24,12 +24,12 @@ RTEC_Initializer::create (PortableServer::POA_ptr consumer_poa,
auto_ptr<TAO_EC_Factory> factory;
if (rtcorba_setup == 0)
{
- factory = new TAO_EC_Default_Factory;
+ factory = auto_ptr<TAO_EC_Factory> (new TAO_EC_Default_Factory);
}
else
{
- factory = new TAO_EC_RTCORBA_Factory (new TAO_EC_Default_Factory,
- rtcorba_setup->lanes ());
+ factory = auto_ptr<TAO_EC_Factory> (new TAO_EC_RTCORBA_Factory (new TAO_EC_Default_Factory,
+ rtcorba_setup->lanes ()));
}
TAO_EC_Event_Channel_Attributes attr (consumer_poa,
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.h
index 8be7eb15887..f3bebdd0188 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.h
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.h
@@ -9,6 +9,7 @@
#ifndef TAO_PERF_RTEC_RTEC_INITIALIZER_H
#define TAO_PERF_RTEC_RTEC_INITIALIZER_H
+#include "rtec_perf_export.h"
#include "tao/ORB.h"
#include "tao/RTCORBA/RTCORBA.h"
#include "tao/PortableServer/PortableServer.h"
@@ -27,7 +28,7 @@ class RTCORBA_Setup;
* TAO's Real-time Event Service
*
*/
-class RTEC_Initializer
+class TAO_RTEC_Perf_Export RTEC_Initializer
{
public:
/// Return a new event channel
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/RT_Class.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/RT_Class.h
index 4ac0f78f57b..d4dd0888362 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/lib/RT_Class.h
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/RT_Class.h
@@ -9,6 +9,7 @@
#ifndef TAO_PERF_RTEC_RT_CLASS_H
#define TAO_PERF_RTEC_RT_CLASS_H
+#include "rtec_perf_export.h"
#include "ace/Sched_Params.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
@@ -21,7 +22,7 @@
* @brief Simplify the initialization of performance tests.
*
*/
-class RT_Class
+class TAO_RTEC_Perf_Export RT_Class
{
public:
/// Constructor
@@ -40,11 +41,11 @@ public:
int priority_process (void) const;
/// Return the (thread, native) priority for the high priority
- /// task(s) in the test
+ /// task(s) in the test
int priority_high (void) const;
/// Return the (thread, native) priority for the low priority
- /// task(s) in the test
+ /// task(s) in the test
int priority_low (void) const;
//@}
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Send_Task.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/Send_Task.cpp
index af3a4ea086f..6be11393b87 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Send_Task.cpp
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Send_Task.cpp
@@ -33,7 +33,7 @@ Send_Task::init (int iterations,
this->period_in_usecs_ = period_in_usecs;
this->event_type_ = event_type;
this->event_source_ = event_source;
- this->supplier_ = Servant_var<Supplier> (supplier);
+ this->supplier_ = Servant_var<Supplier>::duplicate (supplier);
this->barrier_ = barrier;
}
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Send_Task.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/Send_Task.h
index 85a32133620..de0660bb178 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Send_Task.h
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Send_Task.h
@@ -23,7 +23,7 @@
* @brief Implement a simple ACE_Task to send the events
*
*/
-class Send_Task : public ACE_Task_Base
+class TAO_RTEC_Perf_Export Send_Task : public ACE_Task_Base
{
public:
/// Constructor
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Supplier.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/Supplier.h
index db5246ccdba..939f8673663 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Supplier.h
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Supplier.h
@@ -9,6 +9,7 @@
#ifndef TAO_PERF_RTEC_SUPPLIER_H
#define TAO_PERF_RTEC_SUPPLIER_H
+#include "rtec_perf_export.h"
#include "orbsvcs/RtecEventCommS.h"
#include "orbsvcs/RtecEventChannelAdminC.h"
@@ -22,7 +23,7 @@
* @brief Implement a simple supplier to keep track of the latency
*
*/
-class Supplier
+class TAO_RTEC_Perf_Export Supplier
: public virtual POA_RtecEventComm::PushSupplier
, public virtual PortableServer::RefCountServantBase
{
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/TAO_RTEC_Perf.dsp b/TAO/orbsvcs/performance-tests/RTEvent/lib/TAO_RTEC_Perf.dsp
new file mode 100644
index 00000000000..b94fb3ea0b6
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/TAO_RTEC_Perf.dsp
@@ -0,0 +1,244 @@
+# Microsoft Developer Studio Project File - Name="RTECPerf DLL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=RTECPerf DLL - 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 "TAO_RTEC_Perf.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 "TAO_RTEC_Perf.mak" CFG="RTECPerf DLL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "RTECPerf DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "RTECPerf DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "RTECPerf DLL - 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 ""
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\.." /I "..\..\..\.." /I "..\..\..\..\.." /D EC_Test_HAS_DLL=1 /D "TAO_RTEC_PERF_BUILD_DLL" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# 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:windows /dll /machine:I386
+# ADD LINK32 ace.lib TAO.lib TAO_PortableServer.lib TAO_Svc_Utils.lib TAO_RTEvent.lib /nologo /subsystem:windows /dll /machine:I386 /out:"..\..\..\..\..\bin\RTECPerf.dll" /libpath:"..\..\..\orbsvcs" /libpath:"..\..\..\..\tao" /libpath:"..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\ace"
+
+!ELSEIF "$(CFG)" == "RTECPerf DLL - 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 /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /I "..\..\..\.." /I "..\..\..\..\.." /D EC_Test_HAS_DLL=1 /D "TAO_RTEC_PERF_BUILD_DLL" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# 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:windows /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib TAOd.lib TAO_PortableServerd.lib TAO_Svc_Utilsd.lib TAO_RTEventd.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"..\..\..\..\..\bin\RTECPerfd.dll" /pdbtype:sept /libpath:"..\..\..\orbsvcs" /libpath:"..\..\..\..\tao" /libpath:"..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "RTECPerf DLL - Win32 Release"
+# Name "RTECPerf DLL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter ".cpp"
+# Begin Source File
+
+SOURCE=.\Client_Group.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Consumer.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Loopback_Consumer.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Loopback_Supplier.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ORB_Holder.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\RT_Class.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\RTCORBA_Setup.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\RTEC_Initializer.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Send_Task.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Supplier.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter ".h"
+# Begin Source File
+
+SOURCE=.\Auto_Disconnect.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Client_Group.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Consumer.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Loopback_Consumer.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Loopback_Supplier.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ORB_Holder.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\RIR_Narrow.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\RT_Class.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\RTCORBA_Setup.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\RTEC_Initializer.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\rtec_perf_export.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Send_Task.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Servant_var.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Supplier.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter ".i"
+# Begin Source File
+
+SOURCE=.\Auto_Disconnect.inl
+# End Source File
+# Begin Source File
+
+SOURCE=.\Client_Group.inl
+# End Source File
+# Begin Source File
+
+SOURCE=.\ORB_Holder.inl
+# End Source File
+# Begin Source File
+
+SOURCE=.\RT_Class.inl
+# End Source File
+# Begin Source File
+
+SOURCE=.\RTCORBA_Setup.inl
+# End Source File
+# Begin Source File
+
+SOURCE=.\Servant_var.inl
+# End Source File
+# End Group
+# Begin Group "Template Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\Auto_Disconnect.cpp
+# PROP Exclude_From_Build 1
+# End Source File
+# Begin Source File
+
+SOURCE=.\RIR_Narrow.cpp
+# PROP Exclude_From_Build 1
+# End Source File
+# Begin Source File
+
+SOURCE=.\Servant_var.cpp
+# PROP Exclude_From_Build 1
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/TAO_RTEC_Perf.dsw b/TAO/orbsvcs/performance-tests/RTEvent/lib/TAO_RTEC_Perf.dsw
new file mode 100644
index 00000000000..e148f85d638
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/TAO_RTEC_Perf.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "RTECPerf DLL"=".\TAO_RTEC_Perf.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/rtec_perf_export.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/rtec_perf_export.h
new file mode 100644
index 00000000000..f69ababe2cf
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/rtec_perf_export.h
@@ -0,0 +1,34 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl
+// ------------------------------
+#ifndef TAO_RTEC_PERF_EXPORT_H
+#define TAO_RTEC_PERF_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (TAO_RTEC_PERF_HAS_DLL)
+# define TAO_RTEC_PERF_HAS_DLL 1
+#endif /* ! TAO_RTEC_PERF_HAS_DLL */
+
+#if defined (TAO_RTEC_PERF_HAS_DLL) && (TAO_RTEC_PERF_HAS_DLL == 1)
+# if defined (TAO_RTEC_PERF_BUILD_DLL)
+# define TAO_RTEC_Perf_Export ACE_Proper_Export_Flag
+# define TAO_RTEC_PERF_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define TAO_RTEC_PERF_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* TAO_RTEC_PERF_BUILD_DLL */
+# define TAO_RTEC_Perf_Export ACE_Proper_Import_Flag
+# define TAO_RTEC_PERF_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define TAO_RTEC_PERF_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* TAO_RTEC_PERF_BUILD_DLL */
+#else /* TAO_RTEC_PERF_HAS_DLL == 1 */
+# define TAO_RTEC_Perf_Export
+# define TAO_RTEC_PERF_SINGLETON_DECLARATION(T)
+# define TAO_RTEC_PERF_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* TAO_RTEC_PERF_HAS_DLL == 1 */
+
+#endif /* TAO_RTEC_PERF_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/tao/Messaging/MessagingC.h b/TAO/tao/Messaging/MessagingC.h
index 697c4eb2b20..f7ba4fad27c 100644
--- a/TAO/tao/Messaging/MessagingC.h
+++ b/TAO/tao/Messaging/MessagingC.h
@@ -2861,6 +2861,7 @@ TAO_Messaging_Export CORBA::Boolean operator>> (TAO_InputCDR &, Messaging::Excep
#if !defined _TAO_CDR_OP_Messaging_ExceptionHolder__tao_seq_Octet_H_
#define _TAO_CDR_OP_Messaging_ExceptionHolder__tao_seq_Octet_H_
+#if 0
TAO_Messaging_Export CORBA::Boolean operator<< (
TAO_OutputCDR &,
const Messaging::ExceptionHolder::_tao_seq_Octet &
@@ -2869,6 +2870,7 @@ TAO_Messaging_Export CORBA::Boolean operator>> (
TAO_InputCDR &,
Messaging::ExceptionHolder::_tao_seq_Octet &
);
+#endif /* 0 */
#endif /* _TAO_CDR_OP_Messaging_ExceptionHolder__tao_seq_Octet_H_ */