diff options
Diffstat (limited to 'TAO/orbsvcs')
37 files changed, 1156 insertions, 55 deletions
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. |