summaryrefslogtreecommitdiff
path: root/CIAO/ciao/Servants/Servant_Impl_Base.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/ciao/Servants/Servant_Impl_Base.cpp')
-rw-r--r--CIAO/ciao/Servants/Servant_Impl_Base.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/CIAO/ciao/Servants/Servant_Impl_Base.cpp b/CIAO/ciao/Servants/Servant_Impl_Base.cpp
index ad9096a23af..a44783626e7 100644
--- a/CIAO/ciao/Servants/Servant_Impl_Base.cpp
+++ b/CIAO/ciao/Servants/Servant_Impl_Base.cpp
@@ -25,6 +25,8 @@ namespace CIAO
try
{
+ Container_var cnt_safe =
+ Container::_duplicate(this->container_.in ());
PortableServer::POA_var port_poa =
this->container_->the_port_POA ();
@@ -37,14 +39,6 @@ namespace CIAO
port_poa->reference_to_id (iter->second);
port_poa->deactivate_object (cons_id);
-
- CIAO::Servant_Activator_var sa =
- this->container_->ports_servant_activator ();
-
- if (!CORBA::is_nil (sa.in ()))
- {
- sa->update_port_activator (cons_id.in ());
- }
}
}
catch (const CORBA::Exception& ex)
@@ -275,7 +269,9 @@ namespace CIAO
}
{
- ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, mon, this->lock_,
+ ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX,
+ mon,
+ this->lock_,
CORBA::NO_RESOURCES ());
this->consumer_table_[port_name] = ::Components::EventConsumerBase::_duplicate (port_ref);