diff options
Diffstat (limited to 'CIAO/ciao/Servants/Servant_Impl_Base.cpp')
-rw-r--r-- | CIAO/ciao/Servants/Servant_Impl_Base.cpp | 14 |
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); |