diff options
author | johnc <johnc@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2008-06-10 14:59:20 +0000 |
---|---|---|
committer | johnc <johnc@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2008-06-10 14:59:20 +0000 |
commit | 8cffad94a7e2c463b22200d4f5deb41b3c1cd28f (patch) | |
tree | 69b5be0dba62233949610f4f045ce332d43852f5 /TAO/tao/CSD_Framework | |
parent | 219a160c740a6a5ab07aafcfda8c2e21f4b3b50d (diff) | |
download | ATCD-8cffad94a7e2c463b22200d4f5deb41b3c1cd28f.tar.gz |
ChangeLogTag: Tue Jun 10 14:53:00 UTC 2008 Ciju John <johnc at ociweb dot com>
Diffstat (limited to 'TAO/tao/CSD_Framework')
-rw-r--r-- | TAO/tao/CSD_Framework/CSD_Framework_Loader.cpp | 21 | ||||
-rw-r--r-- | TAO/tao/CSD_Framework/CSD_POA.cpp | 2 | ||||
-rw-r--r-- | TAO/tao/CSD_Framework/CSD_Strategy_Base.cpp | 2 | ||||
-rw-r--r-- | TAO/tao/CSD_Framework/CSD_Strategy_Base.h | 4 | ||||
-rw-r--r-- | TAO/tao/CSD_Framework/CSD_Strategy_Base.inl | 4 | ||||
-rw-r--r-- | TAO/tao/CSD_Framework/CSD_Strategy_Proxy.h | 2 | ||||
-rw-r--r-- | TAO/tao/CSD_Framework/CSD_Strategy_Proxy.inl | 4 |
7 files changed, 28 insertions, 11 deletions
diff --git a/TAO/tao/CSD_Framework/CSD_Framework_Loader.cpp b/TAO/tao/CSD_Framework/CSD_Framework_Loader.cpp index d0be954f269..d92151a6ba4 100644 --- a/TAO/tao/CSD_Framework/CSD_Framework_Loader.cpp +++ b/TAO/tao/CSD_Framework/CSD_Framework_Loader.cpp @@ -4,6 +4,7 @@ #include "tao/CSD_Framework/CSD_Object_Adapter_Factory.h" #include "tao/CSD_Framework/CSD_Strategy_Repository.h" #include "tao/CSD_Framework/CSD_ORBInitializer.h" +#include "tao/PI/DLL_Resident_ORB_Initializer.h" #include "tao/ORBInitializer_Registry.h" ACE_RCSID (CSD_Framework, @@ -56,7 +57,7 @@ TAO_CSD_Framework_Loader::init (int, ACE_TCHAR* []) PortableInterceptor::ORBInitializer_ptr temp_orb_initializer = PortableInterceptor::ORBInitializer::_nil (); - /// Register the RTCORBA ORBInitializer. + /// Register the CSD ORBInitializer. ACE_NEW_THROW_EX (temp_orb_initializer, TAO_CSD_ORBInitializer, CORBA::NO_MEMORY ( @@ -68,7 +69,23 @@ TAO_CSD_Framework_Loader::init (int, ACE_TCHAR* []) PortableInterceptor::ORBInitializer_var orb_initializer; orb_initializer = temp_orb_initializer; - PortableInterceptor::register_orb_initializer (orb_initializer.in ()); + PortableInterceptor::ORBInitializer_ptr temp_dll_initializer = + PortableInterceptor::ORBInitializer::_nil (); + + ACE_NEW_THROW_EX (temp_dll_initializer, + PortableInterceptor::DLL_Resident_ORB_Initializer( + orb_initializer.in (), + ACE_LIB_TEXT ("TAO_CSD_ThreadPool")), + CORBA::NO_MEMORY ( + CORBA::SystemException::_tao_minor_code ( + TAO::VMCID, + ENOMEM), + CORBA::COMPLETED_NO)); + + PortableInterceptor::ORBInitializer_var dll_initializer; + dll_initializer = temp_dll_initializer; + + PortableInterceptor::register_orb_initializer (dll_initializer.in ()); } catch (const ::CORBA::Exception& ex) { diff --git a/TAO/tao/CSD_Framework/CSD_POA.cpp b/TAO/tao/CSD_Framework/CSD_POA.cpp index f7f7f454f67..5f53d9bd76d 100644 --- a/TAO/tao/CSD_Framework/CSD_POA.cpp +++ b/TAO/tao/CSD_Framework/CSD_POA.cpp @@ -94,7 +94,7 @@ TAO_CSD_POA::new_POA (const String &name, void TAO_CSD_POA::poa_activated_hook () { - this->sds_proxy_->poa_activated_event (); + this->sds_proxy_->poa_activated_event (this->orb_core_); } void TAO_CSD_POA::poa_deactivated_hook () diff --git a/TAO/tao/CSD_Framework/CSD_Strategy_Base.cpp b/TAO/tao/CSD_Framework/CSD_Strategy_Base.cpp index 09a00e16ddd..b59ef04eef4 100644 --- a/TAO/tao/CSD_Framework/CSD_Strategy_Base.cpp +++ b/TAO/tao/CSD_Framework/CSD_Strategy_Base.cpp @@ -67,7 +67,7 @@ TAO::CSD::Strategy_Base::apply_to (PortableServer::POA_ptr poa) // The POA is already "active" (since its POAManager is active). // We need to "raise" the poa_activated_event() now. Otherwise, // the event will be raised when the POAManager does become active. - if (!this->poa_activated_event()) + if (!this->poa_activated_event( poa_impl->orb_core() )) { // An error has been already been reported to the log with // the detailed reason for the failure to handle the event. diff --git a/TAO/tao/CSD_Framework/CSD_Strategy_Base.h b/TAO/tao/CSD_Framework/CSD_Strategy_Base.h index 85dfd7d7556..a750f305abe 100644 --- a/TAO/tao/CSD_Framework/CSD_Strategy_Base.h +++ b/TAO/tao/CSD_Framework/CSD_Strategy_Base.h @@ -100,7 +100,7 @@ namespace TAO PortableServer::Servant servant) = 0; /// Event - The POA has been activated. - virtual bool poa_activated_event_i() = 0; + virtual bool poa_activated_event_i(TAO_ORB_Core& orb_core) = 0; /// Event - The POA has been deactivated. virtual void poa_deactivated_event_i() = 0; @@ -130,7 +130,7 @@ namespace TAO /// Event - The POA has been activated. This happens when the POA_Manager /// is activated. - bool poa_activated_event(); + bool poa_activated_event(TAO_ORB_Core& orb_core); /// Event - The POA has been deactivated. This happens when the /// POAManager is deactivated, or when the POA is destroyed. diff --git a/TAO/tao/CSD_Framework/CSD_Strategy_Base.inl b/TAO/tao/CSD_Framework/CSD_Strategy_Base.inl index b68910e87ab..7e42abe17f6 100644 --- a/TAO/tao/CSD_Framework/CSD_Strategy_Base.inl +++ b/TAO/tao/CSD_Framework/CSD_Strategy_Base.inl @@ -84,10 +84,10 @@ TAO::CSD::Strategy_Base::dispatch_request ACE_INLINE bool -TAO::CSD::Strategy_Base::poa_activated_event() +TAO::CSD::Strategy_Base::poa_activated_event(TAO_ORB_Core& orb_core) { // Notify the subclass of the event, saving the result. - this->poa_activated_ = this->poa_activated_event_i(); + this->poa_activated_ = this->poa_activated_event_i(orb_core); // Return the result return this->poa_activated_; diff --git a/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.h b/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.h index 848b170b94d..30b57c7ce58 100644 --- a/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.h +++ b/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.h @@ -76,7 +76,7 @@ namespace TAO /// Event - The POA has been (or is being) activated. - bool poa_activated_event(); + bool poa_activated_event(TAO_ORB_Core& orb_core); /// Event - The POA has been deactivated. void poa_deactivated_event(); diff --git a/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.inl b/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.inl index 102122f33de..8977b973f4c 100644 --- a/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.inl +++ b/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.inl @@ -37,12 +37,12 @@ TAO::CSD::Strategy_Proxy::dispatch_request ACE_INLINE bool -TAO::CSD::Strategy_Proxy::poa_activated_event() +TAO::CSD::Strategy_Proxy::poa_activated_event(TAO_ORB_Core& orb_core) { // Delegate to the custom strategy object (or return true if this proxy // is not holding a custom strategy). return (this->strategy_impl_ == 0) ? true - : this->strategy_impl_->poa_activated_event(); + : this->strategy_impl_->poa_activated_event(orb_core); } |