summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2010-06-29 18:00:28 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2010-06-29 18:00:28 +0000
commitc417470840f8354966d09d119e1662987d65984e (patch)
tree5122da579cb902aaeb2b9909e7ccf83fd748cdce
parentb5c6b487c8699d664e13b3911e1fa85ae46ac2bd (diff)
downloadATCD-c417470840f8354966d09d119e1662987d65984e.tar.gz
Tue Jun 29 17:54:23 UTC 2010 William R. Otte <wotte@dre.vanderbilt.edu>
* DAnCE/LocalityManager/Handler/LocalityActivator_Impl.h: * DAnCE/LocalityManager/Handler/LocalityActivator_Impl.cpp: * DAnCE/LocalityManager/Handler/Locality_Manager_Handler_Impl.cpp: Fix for a segmentation fault that would occur when plans with similar UUIDs were deployed/torn down in sequence. * DAnCE/NodeApplication/NodeApplication_Impl.cpp: Temperorarily disable thread pool in the NodeApplication. This is expected to be re-enabled in the next release.
-rw-r--r--CIAO/ChangeLog21
-rw-r--r--CIAO/DAnCE/LocalityManager/Handler/LocalityActivator_Impl.cpp26
-rw-r--r--CIAO/DAnCE/LocalityManager/Handler/LocalityActivator_Impl.h4
-rw-r--r--CIAO/DAnCE/LocalityManager/Handler/Locality_Manager_Handler_Impl.cpp6
-rw-r--r--CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp2
5 files changed, 44 insertions, 15 deletions
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog
index 585028ed9dc..04d19b9477c 100644
--- a/CIAO/ChangeLog
+++ b/CIAO/ChangeLog
@@ -1,3 +1,24 @@
+Tue Jun 29 17:54:23 UTC 2010 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/LocalityManager/Handler/LocalityActivator_Impl.h:
+ * DAnCE/LocalityManager/Handler/LocalityActivator_Impl.cpp:
+ * DAnCE/LocalityManager/Handler/Locality_Manager_Handler_Impl.cpp:
+
+ Fix for a segmentation fault that would occur when plans
+ with similar UUIDs were deployed/torn down in sequence.
+
+ * DAnCE/NodeApplication/NodeApplication_Impl.cpp:
+
+ Temperorarily disable thread pool in the NodeApplication. This
+ is expected to be re-enabled in the next release.
+
+Tue Jun 29 14:49:04 UTC 2010 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeApplication/NodeApplication_Impl.cpp:
+ * DAnCE/NodeManager/NodeManager_Impl.cpp:
+
+ Moved the plugin manager cleanup to the node manager.
+
Tue Jun 29 14:37:39 UTC 2010 Marcel Smit <msmit@remedy.nl>
* docs/OMG-CCM-Tutorial.pptx:
diff --git a/CIAO/DAnCE/LocalityManager/Handler/LocalityActivator_Impl.cpp b/CIAO/DAnCE/LocalityManager/Handler/LocalityActivator_Impl.cpp
index 899aa19e7b4..bd7717dfb0f 100644
--- a/CIAO/DAnCE/LocalityManager/Handler/LocalityActivator_Impl.cpp
+++ b/CIAO/DAnCE/LocalityManager/Handler/LocalityActivator_Impl.cpp
@@ -57,8 +57,8 @@ namespace DAnCE
guard,
this->container_mutex_,
CORBA::NO_RESOURCES ());
- for (SERVER_INFOS::iterator i (this->server_infos_.begin ());
- !i.done (); ++i)
+ for (SERVER_INFOS::iterator i (this->server_infos_.begin ());
+ i != this->server_infos_.end (); ++i)
{
DANCE_DEBUG (9, (LM_TRACE, DLINFO
ACE_TEXT ("DAnCE_LocalityActivator_i::locality_manager_callback - ")
@@ -135,8 +135,8 @@ namespace DAnCE
guard,
this->container_mutex_,
CORBA::NO_RESOURCES ());
- for (SERVER_INFOS::ITERATOR j (this->server_infos_);
- !j.done (); ++j)
+ for (SERVER_INFOS::iterator j (this->server_infos_.begin ());
+ j != this->server_infos_.end (); ++j)
{
if ((*j)->uuid_ == server_UUID)
{
@@ -217,7 +217,7 @@ namespace DAnCE
guard,
this->container_mutex_,
CORBA::NO_RESOURCES ());
- server_infos_.insert_tail (server);
+ server_infos_.insert (server);
}
DANCE_DEBUG (9, (LM_TRACE, DLINFO
@@ -534,19 +534,25 @@ namespace DAnCE
{
DANCE_TRACE ("DAnCE_LocalityActivator_i::remove_locality_manager");
- Server_Info *info = 0;
+ Safe_Server_Info info;
{
ACE_GUARD_THROW_EX ( TAO_SYNCH_MUTEX,
guard,
this->container_mutex_,
CORBA::NO_RESOURCES ());
- for (SERVER_INFOS::ITERATOR i (this->server_infos_);
- !i.done (); ++i)
+
+ SERVER_INFOS::iterator i;
+ for (i = this->server_infos_.begin ();
+ i != this->server_infos_.end ();
+ ++i)
{
- if ((*i)->ref_->_is_equivalent (server))
+ if ((!i->null ()) &&
+ (!CORBA::is_nil ((*i)->ref_)) &&
+ (*i)->ref_->_is_equivalent (server))
{
- info = (*i).get ();
+ info = *i;
+ this->server_infos_.erase (i);
}
}
}
diff --git a/CIAO/DAnCE/LocalityManager/Handler/LocalityActivator_Impl.h b/CIAO/DAnCE/LocalityManager/Handler/LocalityActivator_Impl.h
index 3117d684362..7bd9725fcc2 100644
--- a/CIAO/DAnCE/LocalityManager/Handler/LocalityActivator_Impl.h
+++ b/CIAO/DAnCE/LocalityManager/Handler/LocalityActivator_Impl.h
@@ -21,6 +21,8 @@
#include "NodeApplication/NodeApplication_Export.h"
+#include <set>
+
#if !defined (ACE_LACKS_PRAGMA_ONCE)
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
@@ -132,7 +134,7 @@ namespace DAnCE
};
// Presumably, there won't be too many component servers per node application
- typedef ACE_Unbounded_Set_Ex <Safe_Server_Info, _server_info> SERVER_INFOS;
+ typedef std::set <Safe_Server_Info, _server_info> SERVER_INFOS;
/**
* @brief The exit handler class for the locality manager child process
diff --git a/CIAO/DAnCE/LocalityManager/Handler/Locality_Manager_Handler_Impl.cpp b/CIAO/DAnCE/LocalityManager/Handler/Locality_Manager_Handler_Impl.cpp
index e7f21b893c4..74f27a710c3 100644
--- a/CIAO/DAnCE/LocalityManager/Handler/Locality_Manager_Handler_Impl.cpp
+++ b/CIAO/DAnCE/LocalityManager/Handler/Locality_Manager_Handler_Impl.cpp
@@ -130,17 +130,17 @@ namespace DAnCE
::CORBA::ULong,
const ::CORBA::Any &instance_reference)
{
- LocalityManager_var lm_ref;
+ LocalityManager_ptr lm_ref;
if (!(instance_reference >>= lm_ref) ||
- CORBA::is_nil (lm_ref.in ()))
+ CORBA::is_nil (lm_ref))
{
DANCE_ERROR (1, (LM_ERROR, DLINFO
ACE_TEXT ("Locality_Handler_i::remove_instance - "),
ACE_TEXT ("Unable to extract valid LocalityManager ")
ACE_TEXT ("reference from parameter\n")));
}
- this->activator_->remove_locality_manager (lm_ref.in ());
+ this->activator_->remove_locality_manager (lm_ref);
}
void
diff --git a/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp b/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp
index d78fd1b2871..8b1de19ced5 100644
--- a/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp
+++ b/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp
@@ -55,7 +55,7 @@ NodeApplication_Impl::NodeApplication_Impl (CORBA::ORB_ptr orb,
// Spawn thread pool
// @Todo: We can probably move this up into the NodeManager and
// share the thread pool among several node applications.
- this->scheduler_.activate_scheduler (10);
+ this->scheduler_.activate_scheduler (0);
}
NodeApplication_Impl::~NodeApplication_Impl()