From 7becb7b3ba91ca9ef45cab933c55a91136f2cd54 Mon Sep 17 00:00:00 2001 From: Ossama Othman Date: Thu, 21 Jun 2001 10:14:48 +0000 Subject: *** empty log message *** --- TAO/orbsvcs/orbsvcs/LB_GenericFactory.cpp | 6 ++-- .../orbsvcs/LoadBalancing/LB_GenericFactory.cpp | 6 ++-- .../orbsvcs/LoadBalancing/LB_Pull_Handler.cpp | 32 ++++++++++++---------- .../orbsvcs/LoadBalancing/LoadBalancingI.cpp | 6 ++++ TAO/orbsvcs/orbsvcs/LoadBalancingI.cpp | 6 ++++ 5 files changed, 37 insertions(+), 19 deletions(-) diff --git a/TAO/orbsvcs/orbsvcs/LB_GenericFactory.cpp b/TAO/orbsvcs/orbsvcs/LB_GenericFactory.cpp index aa21aff170f..87c93109a22 100644 --- a/TAO/orbsvcs/orbsvcs/LB_GenericFactory.cpp +++ b/TAO/orbsvcs/orbsvcs/LB_GenericFactory.cpp @@ -348,8 +348,10 @@ TAO_LB_GenericFactory::populate_object_group ( replica_info->location_entry = location_entry; - // No longer need to protect the allocated Replica_Map. - safe_replica_info.release (); + // No longer need to protect the allocated Replica_Info or the + // Location map entry. + (void) safe_replica_info.release (); + (void) safe_location_entry.release (); } } diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_GenericFactory.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_GenericFactory.cpp index aa21aff170f..87c93109a22 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_GenericFactory.cpp +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_GenericFactory.cpp @@ -348,8 +348,10 @@ TAO_LB_GenericFactory::populate_object_group ( replica_info->location_entry = location_entry; - // No longer need to protect the allocated Replica_Map. - safe_replica_info.release (); + // No longer need to protect the allocated Replica_Info or the + // Location map entry. + (void) safe_replica_info.release (); + (void) safe_location_entry.release (); } } diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Pull_Handler.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Pull_Handler.cpp index 5f459ed8ef9..5a95c92f62d 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Pull_Handler.cpp +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Pull_Handler.cpp @@ -34,23 +34,25 @@ TAO_LB_Pull_Handler::handle_timeout ( ++i) { TAO_LB_Location_Map_Entry *location = (*i).int_id_; - - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - location->load_list = - location->load_monitor->current_load (ACE_TRY_ENV); - ACE_TRY_CHECK; - } - ACE_CATCHANY + if (!CORBA::is_nil (location->load_monitor.in ())) { - // Catch the exception and ignore it. - - if (TAO_debug_level > 0) - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "(%P|%t) Load monitoring exception"); + ACE_DECLARE_NEW_CORBA_ENV; + ACE_TRY + { + location->load_list = + location->load_monitor->current_load (ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + // Catch the exception and ignore it. + + if (TAO_debug_level > 0) + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, + "(%P|%t) Load monitoring exception"); + } + ACE_ENDTRY; } - ACE_ENDTRY; } return 0; diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancingI.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancingI.cpp index e0e721eec31..b4a9eef3568 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancingI.cpp +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancingI.cpp @@ -98,6 +98,12 @@ TAO_LoadBalancing_ReplicationManager_i::register_load_monitor ( location_entry) != 0) ACE_THROW (CORBA::INTERNAL ()); // @@ Pick a better (user?) // exception. + + // No longer need to protect the location entry. + (void) safe_location_entry.release (); + + location_entry->load_monitor = + LoadBalancing::LoadMonitor::_duplicate (load_monitor); } else if (CORBA::is_nil (location_entry->load_monitor.in ())) { diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancingI.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancingI.cpp index e0e721eec31..b4a9eef3568 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancingI.cpp +++ b/TAO/orbsvcs/orbsvcs/LoadBalancingI.cpp @@ -98,6 +98,12 @@ TAO_LoadBalancing_ReplicationManager_i::register_load_monitor ( location_entry) != 0) ACE_THROW (CORBA::INTERNAL ()); // @@ Pick a better (user?) // exception. + + // No longer need to protect the location entry. + (void) safe_location_entry.release (); + + location_entry->load_monitor = + LoadBalancing::LoadMonitor::_duplicate (load_monitor); } else if (CORBA::is_nil (location_entry->load_monitor.in ())) { -- cgit v1.2.1