summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-08-30 15:28:09 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-08-30 15:28:09 +0000
commite3f3dc774a8d55eb5ccb0f91945ccb011bc3ea0a (patch)
tree525215b3711eaaaa336354bd4e8ff0fb250057ff
parent4264e5dd5d4fa861f0470284690c9874a0448112 (diff)
downloadATCD-e3f3dc774a8d55eb5ccb0f91945ccb011bc3ea0a.tar.gz
ChangeLogTag: Sat Aug 30 09:53:30 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/ChangeLog_ref1
-rw-r--r--TAO/tao/ORB_Core.cpp103
-rw-r--r--TAO/tao/ORB_Core.i4
-rw-r--r--TAO/tao/Objref_VarOut_T.cpp3
-rw-r--r--TAO/tao/Thread_Lane_Resources.cpp189
5 files changed, 130 insertions, 170 deletions
diff --git a/TAO/ChangeLog_ref b/TAO/ChangeLog_ref
index d1b614037d1..dde557aeb56 100644
--- a/TAO/ChangeLog_ref
+++ b/TAO/ChangeLog_ref
@@ -1,6 +1,7 @@
Sat Aug 30 09:53:30 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
* tao/ORB_Core.cpp:
+ * tao/ORB_Core.i:
* tao/Objref_VarOut_T.cpp:
* tao/Thread_Lane_Resources.cpp:
diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp
index 17524d3b963..04282dbbb05 100644
--- a/TAO/tao/ORB_Core.cpp
+++ b/TAO/tao/ORB_Core.cpp
@@ -2338,22 +2338,6 @@ ACE_Allocator*
TAO_ORB_Core::output_cdr_buffer_allocator (void)
{
return this->lane_resources ().output_cdr_buffer_allocator ();
-
-#if 0
- TAO_ORB_Core_TSS_Resources *tss = this->get_tss_resources ();
- if (tss == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_LIB_TEXT ("(%P|%t) %p\n"),
- ACE_LIB_TEXT ("TAO_ORB_Core::input_cdr_buffer_allocator (); ")
- ACE_LIB_TEXT ("no more TSS keys")),
- 0);
-
- if (tss->output_cdr_buffer_allocator_ == 0)
- tss->output_cdr_buffer_allocator_ =
- this->resource_factory ()->output_cdr_buffer_allocator ();
-
- return tss->output_cdr_buffer_allocator_;
-#endif /*if 0*/
}
@@ -2361,21 +2345,6 @@ ACE_Allocator*
TAO_ORB_Core::output_cdr_msgblock_allocator (void)
{
return this->lane_resources ().output_cdr_msgblock_allocator ();
-#if 0
- TAO_ORB_Core_TSS_Resources *tss = this->get_tss_resources ();
- if (tss == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_LIB_TEXT ("(%P|%t) %p\n"),
- ACE_LIB_TEXT ("TAO_ORB_Core::output_cdr_msgblock_allocator (); ")
- ACE_LIB_TEXT ("no more TSS keys")),
- 0);
-
- if (tss->output_cdr_msgblock_allocator_ == 0)
- tss->output_cdr_msgblock_allocator_ =
- this->resource_factory ()->output_cdr_msgblock_allocator ();
-
- return tss->output_cdr_msgblock_allocator_;
-#endif /*if 0*/
}
@@ -2410,78 +2379,6 @@ TAO_ORB_Core::create_input_cdr_data_block (size_t size)
lock_strategy);
}
-#if 0
-// @@todo: This will go off after sometime. We may no longer need
-// this, since we could as well use the input_cdr* for use.
-
-ACE_Data_Block *
-TAO_ORB_Core::data_block_for_message_block (size_t size)
-{
-
- ACE_Allocator *dblock_allocator;
- ACE_Allocator *buffer_allocator;
-
- dblock_allocator =
- this->message_block_dblock_allocator ();
- buffer_allocator =
- this->message_block_buffer_allocator ();
-
- ACE_Lock* lock_strategy = 0;
- if (this->resource_factory ()->use_locked_data_blocks ())
- {
- lock_strategy = &this->data_block_lock_;
- }
-
- return this->create_data_block_i (size,
- buffer_allocator,
- dblock_allocator,
- lock_strategy);
-}
-
-ACE_Allocator*
-TAO_ORB_Core::message_block_dblock_allocator (void)
-{
- if (this->message_block_dblock_allocator_ == 0)
- {
- // Double checked locking
- ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
- if (this->message_block_dblock_allocator_ == 0)
- this->message_block_dblock_allocator_ =
- this->resource_factory ()->input_cdr_dblock_allocator ();
- }
- return this->message_block_dblock_allocator_;
-}
-
-ACE_Allocator*
-TAO_ORB_Core::message_block_buffer_allocator (void)
-{
- if (this->message_block_buffer_allocator_ == 0)
- {
- // Double checked locking
- ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
- if (this->message_block_buffer_allocator_ == 0)
- this->message_block_buffer_allocator_ =
- this->resource_factory ()->input_cdr_buffer_allocator ();
- }
- return this->message_block_buffer_allocator_;
-}
-
-ACE_Allocator*
-TAO_ORB_Core::message_block_msgblock_allocator (void)
-{
- if (this->message_block_msgblock_allocator_ == 0)
- {
- // Double checked locking
- ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
- if (this->message_block_msgblock_allocator_ == 0)
- this->message_block_msgblock_allocator_ =
- this->resource_factory ()->input_cdr_buffer_allocator ();
- }
- return this->message_block_msgblock_allocator_;
-}
-
-#endif /*if 0*/
-
ACE_Data_Block *
TAO_ORB_Core::create_data_block_i (size_t size,
ACE_Allocator *buffer_allocator,
diff --git a/TAO/tao/ORB_Core.i b/TAO/tao/ORB_Core.i
index 428ed636ff9..2df6b4b13be 100644
--- a/TAO/tao/ORB_Core.i
+++ b/TAO/tao/ORB_Core.i
@@ -221,7 +221,9 @@ TAO_ORB_Core::orb_params(void)
}
#define TAO_OC_RETRIEVE(member) \
- ((this->member##_ == 0) ? (this->member##_ = this->resource_factory ()->get_##member ()) : (this->member##_) )
+((this->member##_ == 0) \
+ ? (this->member##_ = this->resource_factory ()->get_##member ()) \
+ : (this->member##_))
ACE_INLINE TAO_ProtocolFactorySet *
TAO_ORB_Core::protocol_factories (void)
diff --git a/TAO/tao/Objref_VarOut_T.cpp b/TAO/tao/Objref_VarOut_T.cpp
index 168215d4318..d38e596ce4a 100644
--- a/TAO/tao/Objref_VarOut_T.cpp
+++ b/TAO/tao/Objref_VarOut_T.cpp
@@ -9,8 +9,6 @@
#include "tao/Objref_VarOut_T.inl"
#endif /* __ACE_INLINE__ */
-
-
ACE_RCSID (tao,
Objref_VarOut_T,
"$Id$")
@@ -48,6 +46,7 @@ TAO::Objref_Traits<T>::tao_marshal (T * p,
}
// =================================================================
+
template <typename T>
TAO_Objref_Var_T<T>::TAO_Objref_Var_T (void)
: ptr_ (TAO::Objref_Traits<T>::tao_nil ())
diff --git a/TAO/tao/Thread_Lane_Resources.cpp b/TAO/tao/Thread_Lane_Resources.cpp
index a934c64286b..de3c44e31f9 100644
--- a/TAO/tao/Thread_Lane_Resources.cpp
+++ b/TAO/tao/Thread_Lane_Resources.cpp
@@ -2,7 +2,9 @@
#include "tao/Thread_Lane_Resources.h"
-ACE_RCSID(tao, Thread_Lane_Resources, "$Id$")
+ACE_RCSID (tao,
+ Thread_Lane_Resources,
+ "$Id$")
#include "tao/ORB_Core.h"
#include "tao/Acceptor_Registry.h"
@@ -18,21 +20,23 @@ ACE_RCSID(tao, Thread_Lane_Resources, "$Id$")
# include "tao/Thread_Lane_Resources.i"
#endif /* ! __ACE_INLINE__ */
-TAO_Thread_Lane_Resources::TAO_Thread_Lane_Resources (TAO_ORB_Core &orb_core,
- TAO_New_Leader_Generator *new_leader_generator)
- : orb_core_ (orb_core)
- , acceptor_registry_ (0)
- , connector_registry_ (0)
- , transport_cache_ (0)
- , leader_follower_ (0)
- , new_leader_generator_ (new_leader_generator)
- , input_cdr_dblock_allocator_ (0)
- , input_cdr_buffer_allocator_ (0)
- , input_cdr_msgblock_allocator_ (0)
- , transport_message_buffer_allocator_ (0)
- , output_cdr_dblock_allocator_ (0)
- , output_cdr_buffer_allocator_ (0)
- , output_cdr_msgblock_allocator_ (0)
+TAO_Thread_Lane_Resources::TAO_Thread_Lane_Resources (
+ TAO_ORB_Core &orb_core,
+ TAO_New_Leader_Generator *new_leader_generator
+ )
+ : orb_core_ (orb_core),
+ acceptor_registry_ (0),
+ connector_registry_ (0),
+ transport_cache_ (0),
+ leader_follower_ (0),
+ new_leader_generator_ (new_leader_generator),
+ input_cdr_dblock_allocator_ (0),
+ input_cdr_buffer_allocator_ (0),
+ input_cdr_msgblock_allocator_ (0),
+ transport_message_buffer_allocator_ (0),
+ output_cdr_dblock_allocator_ (0),
+ output_cdr_buffer_allocator_ (0),
+ output_cdr_msgblock_allocator_ (0)
{
// Create the transport cache.
ACE_NEW (this->transport_cache_,
@@ -61,7 +65,9 @@ int
TAO_Thread_Lane_Resources::is_collocated (const TAO_MProfile& mprofile)
{
if (!this->has_acceptor_registry_been_created ())
- return 0;
+ {
+ return 0;
+ }
return this->acceptor_registry ().is_collocated (mprofile);
}
@@ -78,6 +84,7 @@ TAO_Thread_Lane_Resources::acceptor_registry (void)
ace_mon,
this->lock_,
*this->acceptor_registry_);
+
if (this->acceptor_registry_ == 0)
{
// @@ Not exception safe code
@@ -112,26 +119,37 @@ TAO_Thread_Lane_Resources::connector_registry (ACE_ENV_SINGLE_ARG_DECL)
this->orb_core_.resource_factory ()->get_connector_registry ();
if (connector_registry == 0)
- ACE_THROW_RETURN (CORBA::INITIALIZE (
- CORBA::SystemException::_tao_minor_code (
- TAO_CONNECTOR_REGISTRY_INIT_LOCATION_CODE,
- 0),
- CORBA::COMPLETED_NO),
- 0);
+ {
+ ACE_THROW_RETURN (
+ CORBA::INITIALIZE (
+ CORBA::SystemException::_tao_minor_code (
+ TAO_CONNECTOR_REGISTRY_INIT_LOCATION_CODE,
+ 0
+ ),
+ CORBA::COMPLETED_NO
+ ),
+ 0
+ );
+ }
if (connector_registry->open (&this->orb_core_) != 0)
- ACE_THROW_RETURN (CORBA::INITIALIZE (
- CORBA::SystemException::_tao_minor_code (
- TAO_CONNECTOR_REGISTRY_INIT_LOCATION_CODE,
- 0),
- CORBA::COMPLETED_NO),
- 0);
+ {
+ ACE_THROW_RETURN (
+ CORBA::INITIALIZE (
+ CORBA::SystemException::_tao_minor_code (
+ TAO_CONNECTOR_REGISTRY_INIT_LOCATION_CODE,
+ 0
+ ),
+ CORBA::COMPLETED_NO
+ ),
+ 0
+ );
+ }
// Finally, everything is created and opened successfully:
// now we can assign to the member. Otherwise, the
// assignment would be premature.
- this->connector_registry_ =
- connector_registry;
+ this->connector_registry_ = connector_registry;
}
}
@@ -145,7 +163,11 @@ TAO_Thread_Lane_Resources::leader_follower (void)
// Double check.
if (this->leader_follower_ == 0)
{
- ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, *this->leader_follower_);
+ ACE_GUARD_RETURN (TAO_SYNCH_MUTEX,
+ ace_mon,
+ this->lock_,
+ *this->leader_follower_);
+
if (this->leader_follower_ == 0)
{
// Create a new Leader Follower object.
@@ -167,9 +189,12 @@ TAO_Thread_Lane_Resources::input_cdr_dblock_allocator (void)
{
// Double checked locking
ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
+
if (this->input_cdr_dblock_allocator_ == 0)
- this->input_cdr_dblock_allocator_ =
- this->resource_factory ()->input_cdr_dblock_allocator ();
+ {
+ this->input_cdr_dblock_allocator_ =
+ this->resource_factory ()->input_cdr_dblock_allocator ();
+ }
}
return this->input_cdr_dblock_allocator_;
@@ -183,9 +208,12 @@ TAO_Thread_Lane_Resources::input_cdr_buffer_allocator (void)
{
// Double checked locking
ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
+
if (this->input_cdr_buffer_allocator_ == 0)
- this->input_cdr_buffer_allocator_ =
- this->resource_factory ()->input_cdr_buffer_allocator ();
+ {
+ this->input_cdr_buffer_allocator_ =
+ this->resource_factory ()->input_cdr_buffer_allocator ();
+ }
}
return this->input_cdr_buffer_allocator_;
@@ -199,9 +227,12 @@ TAO_Thread_Lane_Resources::input_cdr_msgblock_allocator (void)
{
// Double checked locking
ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
+
if (this->input_cdr_msgblock_allocator_ == 0)
- this->input_cdr_msgblock_allocator_ =
- this->resource_factory ()->input_cdr_msgblock_allocator ();
+ {
+ this->input_cdr_msgblock_allocator_ =
+ this->resource_factory ()->input_cdr_msgblock_allocator ();
+ }
}
return this->input_cdr_msgblock_allocator_;
@@ -214,9 +245,12 @@ TAO_Thread_Lane_Resources::transport_message_buffer_allocator (void)
{
// Double checked locking
ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
+
if (this->transport_message_buffer_allocator_ == 0)
- this->transport_message_buffer_allocator_ =
- this->resource_factory ()->input_cdr_dblock_allocator ();
+ {
+ this->transport_message_buffer_allocator_ =
+ this->resource_factory ()->input_cdr_dblock_allocator ();
+ }
}
return this->transport_message_buffer_allocator_;
@@ -230,9 +264,12 @@ TAO_Thread_Lane_Resources::output_cdr_dblock_allocator (void)
{
// Double checked locking
ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
+
if (this->output_cdr_dblock_allocator_ == 0)
- this->output_cdr_dblock_allocator_ =
- this->resource_factory ()->output_cdr_dblock_allocator ();
+ {
+ this->output_cdr_dblock_allocator_ =
+ this->resource_factory ()->output_cdr_dblock_allocator ();
+ }
}
return this->output_cdr_dblock_allocator_;
@@ -246,9 +283,12 @@ TAO_Thread_Lane_Resources::output_cdr_buffer_allocator (void)
{
// Double checked locking
ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
+
if (this->output_cdr_buffer_allocator_ == 0)
- this->output_cdr_buffer_allocator_ =
- this->resource_factory ()->output_cdr_buffer_allocator ();
+ {
+ this->output_cdr_buffer_allocator_ =
+ this->resource_factory ()->output_cdr_buffer_allocator ();
+ }
}
return this->output_cdr_buffer_allocator_;
@@ -262,9 +302,12 @@ TAO_Thread_Lane_Resources::output_cdr_msgblock_allocator (void)
{
// Double checked locking
ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
+
if (this->output_cdr_msgblock_allocator_ == 0)
- this->output_cdr_msgblock_allocator_ =
- this->resource_factory ()->output_cdr_msgblock_allocator ();
+ {
+ this->output_cdr_msgblock_allocator_ =
+ this->resource_factory ()->output_cdr_msgblock_allocator ();
+ }
}
return this->output_cdr_msgblock_allocator_;
@@ -275,15 +318,13 @@ TAO_Thread_Lane_Resources::open_acceptor_registry (int ignore_address
ACE_ENV_ARG_DECL)
{
/// Access the acceptor registry.
- TAO_Acceptor_Registry &ar =
- this->acceptor_registry ();
+ TAO_Acceptor_Registry &ar = this->acceptor_registry ();
// Open it.
- int result =
- ar.open (&this->orb_core_,
- this->leader_follower ().reactor (),
- ignore_address
- ACE_ENV_ARG_PARAMETER);
+ int result = ar.open (&this->orb_core_,
+ this->leader_follower ().reactor (),
+ ignore_address
+ ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (-1);
return result;
@@ -326,6 +367,7 @@ TAO_Thread_Lane_Resources::finalize (void)
// Go through the handler set, closing the connections and removing
// the references.
TAO_Connection_Handler **handler = 0;
+
for (TAO_Connection_Handler_Set::iterator iter (handlers);
iter.next (handler);
iter.advance ())
@@ -344,39 +386,59 @@ TAO_Thread_Lane_Resources::finalize (void)
// lest some of the contents in the abve, say reactor or acceptor
// may use memory from the pool..
if (this->input_cdr_dblock_allocator_ != 0)
- this->input_cdr_dblock_allocator_->remove ();
+ {
+ this->input_cdr_dblock_allocator_->remove ();
+ }
+
delete this->input_cdr_dblock_allocator_;
if (this->input_cdr_buffer_allocator_ != 0)
- this->input_cdr_buffer_allocator_->remove ();
+ {
+ this->input_cdr_buffer_allocator_->remove ();
+ }
+
delete this->input_cdr_buffer_allocator_;
if (this->input_cdr_msgblock_allocator_ != 0)
- this->input_cdr_msgblock_allocator_->remove ();
+ {
+ this->input_cdr_msgblock_allocator_->remove ();
+ }
+
delete this->input_cdr_msgblock_allocator_;
if (this->transport_message_buffer_allocator_ != 0)
- this->transport_message_buffer_allocator_->remove ();
+ {
+ this->transport_message_buffer_allocator_->remove ();
+ }
+
delete this->transport_message_buffer_allocator_;
if (this->output_cdr_dblock_allocator_ != 0)
- this->output_cdr_dblock_allocator_->remove ();
+ {
+ this->output_cdr_dblock_allocator_->remove ();
+ }
+
delete this->output_cdr_dblock_allocator_;
if (this->output_cdr_buffer_allocator_ != 0)
- this->output_cdr_buffer_allocator_->remove ();
+ {
+ this->output_cdr_buffer_allocator_->remove ();
+ }
+
delete this->output_cdr_buffer_allocator_;
if (this->output_cdr_msgblock_allocator_ != 0)
- this->output_cdr_msgblock_allocator_->remove ();
+ {
+ this->output_cdr_msgblock_allocator_->remove ();
+ }
+
delete this->output_cdr_msgblock_allocator_;
}
void
TAO_Thread_Lane_Resources::shutdown_reactor (void)
{
- TAO_Leader_Follower &leader_follower =
- this->leader_follower ();
+ TAO_Leader_Follower &leader_follower = this->leader_follower ();
ACE_GUARD (TAO_SYNCH_MUTEX,
ace_mon,
@@ -385,8 +447,7 @@ TAO_Thread_Lane_Resources::shutdown_reactor (void)
// Wakeup all the threads waiting blocked in the event loop, this
// does not guarantee that they will all go away, but reduces the
// load on the POA....
- ACE_Reactor *reactor =
- leader_follower.reactor ();
+ ACE_Reactor *reactor = leader_follower.reactor ();
reactor->wakeup_all_threads ();