diff options
-rw-r--r-- | CIAO/ChangeLog | 6 | ||||
-rw-r--r-- | CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp | 30 |
2 files changed, 27 insertions, 9 deletions
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog index 66da866ccbb..d0463120d2a 100644 --- a/CIAO/ChangeLog +++ b/CIAO/ChangeLog @@ -1,3 +1,9 @@ +Wed Jun 30 16:05:10 UTC 2010 William R. Otte <wotte@dre.vanderbilt.edu> + + * DAnCE/NodeApplication/NodeApplication_Impl.cpp: + + Fixed a bug where connections weren't properly collated. + Wed Jun 30 15:02:07 UTC 2010 Adam Mitz <mitza@ociweb.com> * connectors/dds4ccm/idl/dds4ccm_stub.mpc: diff --git a/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp b/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp index 8b1de19ced5..d325538995a 100644 --- a/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp +++ b/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp @@ -240,14 +240,15 @@ NodeApplication_Impl::start_launch_instances (const Deployment::Properties &prop Deployment::Connections_out providedReference) { DANCE_TRACE ("NodeApplication_Impl::start_launch_instances"); - // Deployment::Connections *tmp (0); - - // ACE_NEW_THROW_EX (tmp, - // Deployment::Connections (this->plan_.connection.length ()), - // CORBA::NO_MEMORY ()); - // - // Deployment::Connections_var retval (tmp); - + Deployment::Connections *tmp (0); + + ACE_NEW_THROW_EX (tmp, + Deployment::Connections (), + CORBA::NO_MEMORY ()); + + providedReference = tmp; + CORBA::ULong retval_pos (0); + for (LOCALITY_MAP::const_iterator i = this->localities_.begin (); i != this->localities_.end (); ++i) { @@ -258,8 +259,19 @@ NodeApplication_Impl::start_launch_instances (const Deployment::Properties &prop try { + Deployment::Connections_var instance_references; i->second->startLaunch (prop, - providedReference); + instance_references.out ()); + + + providedReference->length (retval_pos + instance_references->length ()); + + for (CORBA::ULong ir_pos = 0; + ir_pos < instance_references->length (); + ++ir_pos) + { + providedReference[retval_pos++] = instance_references[ir_pos]; + } } catch (Deployment::PlanError &ex) { |