summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2001-06-21 10:14:48 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2001-06-21 10:14:48 +0000
commit7becb7b3ba91ca9ef45cab933c55a91136f2cd54 (patch)
tree063adc25a553cee173d11ae12211657c924bcd8d
parent42a2fcd0650bfa67733d539697d85e4c18739ad8 (diff)
downloadATCD-7becb7b3ba91ca9ef45cab933c55a91136f2cd54.tar.gz
*** empty log message ***
-rw-r--r--TAO/orbsvcs/orbsvcs/LB_GenericFactory.cpp6
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_GenericFactory.cpp6
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Pull_Handler.cpp32
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancingI.cpp6
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancingI.cpp6
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 ()))
{