diff options
author | dengg <dengg@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-04-07 21:22:34 +0000 |
---|---|---|
committer | dengg <dengg@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-04-07 21:22:34 +0000 |
commit | e59c9c757bf3b3a36dd97b21daa552f7d80d2bac (patch) | |
tree | 48936e523facab069cb6b2692a29c49f3f067948 | |
parent | 2321787aaed8b3a247f29ac62162bdc4316386c9 (diff) | |
download | ATCD-e59c9c757bf3b3a36dd97b21daa552f7d80d2bac.tar.gz |
Fri Apr 7 04:09:33 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
-rw-r--r-- | TAO/CIAO/ChangeLog | 3 | ||||
-rw-r--r-- | TAO/CIAO/DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp | 11 |
2 files changed, 13 insertions, 1 deletions
diff --git a/TAO/CIAO/ChangeLog b/TAO/CIAO/ChangeLog index 9634d26b66e..4bdb545c1c9 100644 --- a/TAO/CIAO/ChangeLog +++ b/TAO/CIAO/ChangeLog @@ -9,6 +9,9 @@ Fri Apr 7 04:09:33 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu> purged from the to-be-removed connections list. Added another helper method <purge_connections> to accomplish this task. + Modified to enforce passivation occured on all components + before any connections are removed. + Fri Apr 7 03:55:46 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu> * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp diff --git a/TAO/CIAO/DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp b/TAO/CIAO/DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp index 32ddc36b0c4..01fb98210b6 100644 --- a/TAO/CIAO/DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp +++ b/TAO/CIAO/DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp @@ -1578,6 +1578,7 @@ destroyApplication (ACE_ENV_SINGLE_ARG_DECL) CIAO_TRACE("CIAO::DomainApplicationManager_Impl::destroyApplication"); ACE_TRY { + // Passivate all components associated with the plan for (CORBA::ULong i = 0; i < this->num_child_plans_; ++i) { ACE_Hash_Map_Entry <ACE_CString, Chained_Artifacts> *entry = 0; @@ -1607,6 +1608,14 @@ destroyApplication (ACE_ENV_SINGLE_ARG_DECL) (entry->int_id_).node_application_.in (); my_na->ciao_passivate (); + } + + // Remove all connections associated with the plan + for (CORBA::ULong i = 0; i < this->num_child_plans_; ++i) + { + ACE_Hash_Map_Entry <ACE_CString, Chained_Artifacts> *entry = 0; + + this->artifact_map_.find (this->node_manager_names_[i], entry); Deployment::Connections_var connections = this->get_outgoing_connections ( @@ -1643,7 +1652,7 @@ destroyApplication (ACE_ENV_SINGLE_ARG_DECL) // Remove all the connections whose "source" component // is this component instance from the <connections> list this->purge_connections (connections, - inst_name.c_str ()); + inst_name.c_str ()); } } |