diff options
author | jai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2005-05-27 03:56:16 +0000 |
---|---|---|
committer | jai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2005-05-27 03:56:16 +0000 |
commit | 1785d4704ca74b9784ade7bbb2094c9a1c2eede2 (patch) | |
tree | 1dcd5b2d181c55822ec05779b599baf111d95172 | |
parent | c85e10bb07695084324bd70099bb72dbcea3ab89 (diff) | |
download | ATCD-1785d4704ca74b9784ade7bbb2094c9a1c2eede2.tar.gz |
Thu May 26 22:55:26 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
-rw-r--r-- | TAO/CIAO/ChangeLog | 7 | ||||
-rw-r--r-- | TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.cpp | 31 |
2 files changed, 25 insertions, 13 deletions
diff --git a/TAO/CIAO/ChangeLog b/TAO/CIAO/ChangeLog index 72f976b6c1d..8916f78bf03 100644 --- a/TAO/CIAO/ChangeLog +++ b/TAO/CIAO/ChangeLog @@ -1,3 +1,10 @@ +Thu May 26 22:55:26 2005 Jaiganesh B <jai@dre.vanderbilt.edu> + + * DAnCE/ciao/Servant_Impl_Base.cpp: + + Added code to deactivate facets when component + is getting removed. + Thu May 26 20:41:04 2005 Jaiganesh B <jai@dre.vanderbilt.edu> * DAnCE/ciao/Home_Servant_Impl_T.cpp: diff --git a/TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.cpp b/TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.cpp index e46c7c930f4..9352bd2fee9 100644 --- a/TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.cpp +++ b/TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.cpp @@ -65,7 +65,6 @@ namespace CIAO ACE_THROW_SPEC ((CORBA::SystemException, Components::RemoveFailure)) { - /* Components::FacetDescriptions_var facets = this->get_all_facets (ACE_ENV_SINGLE_ARG_PARAMETER); ACE_CHECK; @@ -74,23 +73,29 @@ namespace CIAO CORBA::ULong i = 0; for (i = 0; i < facet_len; ++i) { - PortableServer::ObjectId_var oid = - this->container_->the_facet_cons_POA ()->reference_to_id - (facets[i]->facet_ref () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - + PortableServer::ObjectId_var id = + this->container_->the_facet_cons_POA ()->reference_to_id + (facets[i]->facet_ref () ACE_ENV_ARG_PARAMETER); + CIAO::Servant_Activator *sa = this->container_->ports_servant_activator (); - sa->update_port_activator (oid ACE_ENV_ARG_PARAMETER); - this->container_->deactivate_facet (oid ACE_ENV_ARG_PARAMETER); + sa->update_port_activator (id ACE_ENV_ARG_PARAMETER); + + ACE_TRY + { + this->container_->the_facet_cons_POA ()->deactivate_object + (id ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, + "Facet not active\n"); + } + ACE_ENDTRY; } - Components::SessionComponent_var temp = this->get_executor (); - temp->ccm_passivate (ACE_ENV_SINGLE_ARG_PARAMETER); - */ - Components::SessionComponent_var temp = this->get_executor (); temp->ccm_remove (ACE_ENV_SINGLE_ARG_PARAMETER); |