[openrtm-commit:01459] r2567 - trunk/OpenRTM-aist/src/lib/rtm

openrtm @ openrtm.org openrtm @ openrtm.org
2014年 6月 13日 (金) 00:13:12 JST


Author: n-ando
Date: 2014-06-13 00:13:12 +0900 (Fri, 13 Jun 2014)
New Revision: 2567

Modified:
   trunk/OpenRTM-aist/src/lib/rtm/RTObjectStateMachine.cpp
Log:
[compat] Now exception is caught from reference_to_servant.

Modified: trunk/OpenRTM-aist/src/lib/rtm/RTObjectStateMachine.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/RTObjectStateMachine.cpp	2014-04-21 09:25:16 UTC (rev 2566)
+++ trunk/OpenRTM-aist/src/lib/rtm/RTObjectStateMachine.cpp	2014-06-12 15:13:12 UTC (rev 2567)
@@ -161,8 +161,19 @@
     if (CORBA::is_nil(m_caVar)) { return; }
     m_ca = true;
     PortableServer::POA_ptr poa = RTC::Manager::instance().getPOA();
-    m_rtobjPtr =
-      dynamic_cast<RTC::RTObject_impl*>(poa->reference_to_servant(comp));
+    try
+      {
+        m_rtobjPtr =
+          dynamic_cast<RTC::RTObject_impl*>(poa->reference_to_servant(comp));
+      }
+    catch (CORBA::SystemException& ex)
+      {
+        m_rtobjPtr = NULL;
+      }
+    catch (...)
+      {
+        m_rtobjPtr = NULL;
+      }
   }
 
   void RTObjectStateMachine::



More information about the openrtm-commit mailing list