summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarijke Hengstmengel <MHengstmengel@users.noreply.github.com>2013-10-23 08:47:57 +0000
committerMarijke Hengstmengel <MHengstmengel@users.noreply.github.com>2013-10-23 08:47:57 +0000
commit29cbf75d9c11fe9c4b3e3698a38932354a397e7d (patch)
tree760f6235f9ad07496d2d47c9319a5f626ddc1293
parent7647c750d59363b7603a9ade1c3d63ebc11f3232 (diff)
downloadATCD-29cbf75d9c11fe9c4b3e3698a38932354a397e7d.tar.gz
Changes for Android port
-rw-r--r--DAnCE/ChangeLog16
-rw-r--r--DAnCE/dance/LocalityManager/Scheduler/Events/Action_Base.cpp97
-rw-r--r--DAnCE/dance/LocalityManager/Scheduler/Plugin_Manager.cpp8
3 files changed, 73 insertions, 48 deletions
diff --git a/DAnCE/ChangeLog b/DAnCE/ChangeLog
index 74feae018f2..81819a333aa 100644
--- a/DAnCE/ChangeLog
+++ b/DAnCE/ChangeLog
@@ -1,3 +1,19 @@
+Wed Oct 23 08:45:46 UTC 2013 Marijke Hengstmengel <MHengstmengel.remedy.nl>
+
+ * dance/LocalityManager/Scheduler/Events/Action_Base.cpp:
+
+ * dance/LocalityManager/Scheduler/Plugin_Manager.cpp:
+ commit eb9626a86511c55e5d46a65a260240af6103f8e4
+ Author: Marijke Hengstmengel <MHengstmengel@remedy.nl>
+ Date: Thu Oct 3 10:19:06 2013 +0200
+
+ Solved singleton problems for android
+ * DAnCE/dance/LocalityManager/Scheduler/Plugin_Manager.cpp:
+
+ * DAnCE/dance/LocalityManager/Scheduler/Events/Action_Base.cpp:
+ If InstanceDeploymentHandler is nil, don't call invoke
+
+
Thu Oct 3 09:36:51 UTC 2013 Johnny Willemsen <jwillemsen@remedy.nl>
* NEWS:
diff --git a/DAnCE/dance/LocalityManager/Scheduler/Events/Action_Base.cpp b/DAnCE/dance/LocalityManager/Scheduler/Events/Action_Base.cpp
index 87f7265a5f2..21048c3bb1b 100644
--- a/DAnCE/dance/LocalityManager/Scheduler/Events/Action_Base.cpp
+++ b/DAnCE/dance/LocalityManager/Scheduler/Events/Action_Base.cpp
@@ -53,53 +53,56 @@ namespace DAnCE
this->create_unexpected_exception (this->name_,
"Invalid Instance Type");
}
-
- ::DAnCE::InstanceDeploymentHandler_var handler =
- PLUGIN_MANAGER::instance ()->fetch_installation_handler (this->instance_type_.c_str ());
-
- if (CORBA::is_nil (handler))
- {
- this->create_unexpected_exception (this->name_,
- "Unable to load appropriate instance handler");
- }
-
- try
- {
- this->invoke (handler.in ());
- }
- catch (CORBA::UserException &ex)
- {
- DANCE_ERROR (DANCE_LOG_EVENT_TRACE,
- (LM_INFO, DLINFO
- ACE_TEXT ("Action_Base::call - ")
- ACE_TEXT ("Caught CORBA UserException while processing instance ")
- ACE_TEXT ("<%C>\n"),
- this->name_.c_str ()));
- this->instance_excep_ = DAnCE::Utility::create_any_from_user_exception (ex);
- }
- catch (CORBA::SystemException &ex)
- {
- DANCE_ERROR (DANCE_LOG_EVENT_TRACE,
- (LM_INFO, DLINFO
- ACE_TEXT ("Action_Base::call - ")
- ACE_TEXT ("Caught CORBA SystemException while processing instance ")
- ACE_TEXT ("<%C>\n"),
- this->name_.c_str ()));
- this->instance_excep_ = DAnCE::Utility::create_any_from_exception (ex);
- }
- catch (...)
- {
- DANCE_ERROR (DANCE_LOG_EVENT_TRACE,
- (LM_INFO, DLINFO
- ACE_TEXT ("Action_Base::call - ")
- ACE_TEXT ("Caught C++ exception while processing instance ")
- ACE_TEXT ("<%C>\n"),
- this->name_.c_str ()));
-
- this->create_unexpected_exception (this->name_,
- "Caught unknown C++ exception from install");
- }
-
+ else
+ {
+ ::DAnCE::InstanceDeploymentHandler_var handler =
+ PLUGIN_MANAGER::instance ()->fetch_installation_handler (this->instance_type_.c_str ());
+
+ if (CORBA::is_nil (handler))
+ {
+ this->create_unexpected_exception (this->name_,
+ "Unable to load appropriate instance handler");
+ }
+ else
+ {
+ try
+ {
+ this->invoke (handler.in ());
+ }
+ catch (CORBA::UserException &ex)
+ {
+ DANCE_ERROR (DANCE_LOG_EVENT_TRACE,
+ (LM_INFO, DLINFO
+ ACE_TEXT ("Action_Base::call - ")
+ ACE_TEXT ("Caught CORBA UserException while processing instance ")
+ ACE_TEXT ("<%C>\n"),
+ this->name_.c_str ()));
+ this->instance_excep_ = DAnCE::Utility::create_any_from_user_exception (ex);
+ }
+ catch (CORBA::SystemException &ex)
+ {
+ DANCE_ERROR (DANCE_LOG_EVENT_TRACE,
+ (LM_INFO, DLINFO
+ ACE_TEXT ("Action_Base::call - ")
+ ACE_TEXT ("Caught CORBA SystemException while processing instance ")
+ ACE_TEXT ("<%C>\n"),
+ this->name_.c_str ()));
+ this->instance_excep_ = DAnCE::Utility::create_any_from_exception (ex);
+ }
+ catch (...)
+ {
+ DANCE_ERROR (DANCE_LOG_EVENT_TRACE,
+ (LM_INFO, DLINFO
+ ACE_TEXT ("Action_Base::call - ")
+ ACE_TEXT ("Caught C++ exception while processing instance ")
+ ACE_TEXT ("<%C>\n"),
+ this->name_.c_str ()));
+
+ this->create_unexpected_exception (this->name_,
+ "Caught unknown C++ exception from install");
+ }
+ }
+ }
Event_Result result (this->name_, this->instance_excep_.ptr () != 0);
if (!interceptors.empty ())
{
diff --git a/DAnCE/dance/LocalityManager/Scheduler/Plugin_Manager.cpp b/DAnCE/dance/LocalityManager/Scheduler/Plugin_Manager.cpp
index b37081166f7..68b73eef151 100644
--- a/DAnCE/dance/LocalityManager/Scheduler/Plugin_Manager.cpp
+++ b/DAnCE/dance/LocalityManager/Scheduler/Plugin_Manager.cpp
@@ -106,6 +106,10 @@ namespace DAnCE
Plugin_Manager::Plugin_Manager (void) :
config_ (0)
{
+ DANCE_DEBUG (DANCE_LOG_MINOR_EVENT,
+ (LM_INFO, DLINFO
+ ACE_TEXT ("Plugin_Manager::Plugin_Manager")
+ ACE_TEXT ("\n")));
}
void
@@ -233,7 +237,6 @@ namespace DAnCE
const ACE_TCHAR *entrypoint,
int open_mode)
{
-
::DAnCE::DeploymentInterceptor_var plugin =
load_plugin< ::DAnCE::DeploymentInterceptor > (artifact,
entrypoint,
@@ -372,3 +375,6 @@ namespace DAnCE
}
}
+
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, DAnCE::Plugin_Manager, TAO_SYNCH_MUTEX);
+