summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancingI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancingI.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancingI.cpp6
1 files changed, 6 insertions, 0 deletions
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 ()))
{