diff options
author | Ossama Othman <ossama-othman@users.noreply.github.com> | 2005-01-13 07:36:37 +0000 |
---|---|---|
committer | Ossama Othman <ossama-othman@users.noreply.github.com> | 2005-01-13 07:36:37 +0000 |
commit | 4eed427917a720735650e583459a4cf42e02043d (patch) | |
tree | a5bcac1f7f5871f2ec4295f6c1770f42001c67d1 /TAO/tao/PortableServer/POA.cpp | |
parent | acd63cefc2b7c47041289aa71d54a8a083540676 (diff) | |
download | ATCD-4eed427917a720735650e583459a4cf42e02043d.tar.gz |
ChangeLogTag:Wed Jan 12 22:36:58 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
Diffstat (limited to 'TAO/tao/PortableServer/POA.cpp')
-rw-r--r-- | TAO/tao/PortableServer/POA.cpp | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/TAO/tao/PortableServer/POA.cpp b/TAO/tao/PortableServer/POA.cpp index 794bcd8f5ec..650ec0e57d8 100644 --- a/TAO/tao/PortableServer/POA.cpp +++ b/TAO/tao/PortableServer/POA.cpp @@ -417,17 +417,6 @@ TAO_POA::complete_destruction_i (ACE_ENV_SINGLE_ARG_DECL) } - if (this->ort_adapter_ != 0) - { - TAO::ORT_Adapter_Factory *ort_factory = - this->ORT_adapter_factory (); - - ort_factory->destroy (this->ort_adapter_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->ort_adapter_ = 0; - } - CORBA::release (this); } @@ -883,6 +872,19 @@ TAO_POA::destroy_i (CORBA::Boolean etherealize_objects, if (ort_adapter != 0) ort_adapter->release (array_obj_ref_template[0]); + + // --------------------------------------------- + if (this->ort_adapter_ != 0) + { + TAO::ORT_Adapter_Factory *ort_factory = + this->ORT_adapter_factory (); + + ort_factory->destroy (this->ort_adapter_ + ACE_ENV_ARG_PARAMETER); + ACE_CHECK; + + this->ort_adapter_ = 0; + } } else { @@ -4151,7 +4153,7 @@ TAO_POA::ORT_adapter_i (void) ort_ap_factory->create (ACE_ENV_SINGLE_ARG_PARAMETER); ACE_TRY_CHECK; - if (!ort_adapter_) + if (!this->ort_adapter_) return 0; // @todo We have to look at this, we activate it but hold the POA lock, @@ -4260,7 +4262,9 @@ TAO_POA::reference_to_ids (CORBA::Object_ptr the_ref PortableServer::NotAGroupObject )) { - TAO_POA_PortableGroup_Hooks *hooks = this->orb_core_.portable_group_poa_hooks (); + TAO_POA_PortableGroup_Hooks * hooks = + this->orb_core_.portable_group_poa_hooks (); + if (hooks == 0) { ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), |