[openrtm-commit:03191] r3231 - branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm

openrtm @ openrtm.org openrtm @ openrtm.org
2018年 2月 27日 (火) 15:56:57 JST


Author: miyamoto
Date: 2018-02-27 15:56:57 +0900 (Tue, 27 Feb 2018)
New Revision: 3231

Modified:
   branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp
   branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/RTObject.cpp
Log:
[bugfix, ->trunk] bug fixed. refs #4463

Modified: branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp
===================================================================
--- branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp	2018-02-27 01:15:00 UTC (rev 3230)
+++ branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp	2018-02-27 06:56:57 UTC (rev 3231)
@@ -117,6 +117,20 @@
       }
     m_slaves.length(0);
 
+
+
+#ifndef ORB_IS_RTORB
+	CORBA::Object_ptr obj = m_mgr.theORB()->resolve_initial_references("omniINSPOA");
+#else // ROB_IS_RTORB
+	CORBA::Object_ptr obj = m_mgr.theORB()->resolve_initial_references((char*)"omniINSPOA");
+#endif // ORB_IS_RTORB
+	
+	PortableServer::POA_ptr poa = PortableServer::POA::_narrow(obj);
+	PortableServer::ObjectId_var id;
+	id = poa->servant_to_id(this);
+
+	poa->deactivate_object(id.in());
+
   }
   
   /*!

Modified: branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/RTObject.cpp
===================================================================
--- branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/RTObject.cpp	2018-02-27 01:15:00 UTC (rev 3230)
+++ branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/RTObject.cpp	2018-02-27 06:56:57 UTC (rev 3231)
@@ -2492,6 +2492,20 @@
         oid2 = m_pPOA->servant_to_id(this);
         m_pPOA->deactivate_object(oid1);
         m_pPOA->deactivate_object(oid2);
+
+
+#ifndef ORB_IS_RTORB
+        CORBA::Object_ptr obj = m_pORB->resolve_initial_references("omniINSPOA");
+#else // ROB_IS_RTORB
+        CORBA::Object_ptr obj = m_pORB->resolve_initial_references((char*)"omniINSPOA");
+#endif // ORB_IS_RTORB
+        PortableServer::POA_ptr poa = PortableServer::POA::_narrow(obj);
+
+        PortableServer::ObjectId_var oid3;
+        oid3 = poa->servant_to_id(this);
+
+
+        poa->deactivate_object(oid3.in());
       }
     catch (PortableServer::POA::ServantNotActive &e)
       {



More information about the openrtm-commit mailing list