[openrtm-commit:02100] r734 - trunk/OpenRTM-aist-Python/OpenRTM_aist

openrtm @ openrtm.org openrtm @ openrtm.org
2016年 11月 1日 (火) 19:32:03 JST


Author: miyamoto
Date: 2016-11-01 19:32:03 +0900 (Tue, 01 Nov 2016)
New Revision: 734

Modified:
   trunk/OpenRTM-aist-Python/OpenRTM_aist/ExecutionContextWorker.py
   trunk/OpenRTM-aist-Python/OpenRTM_aist/PeriodicExecutionContext.py
Log:
[compat,bugfix,->RELENG_1_2] fixed bug. refs #3700

Modified: trunk/OpenRTM-aist-Python/OpenRTM_aist/ExecutionContextWorker.py
===================================================================
--- trunk/OpenRTM-aist-Python/OpenRTM_aist/ExecutionContextWorker.py	2016-11-01 08:54:06 UTC (rev 733)
+++ trunk/OpenRTM-aist-Python/OpenRTM_aist/ExecutionContextWorker.py	2016-11-01 10:32:03 UTC (rev 734)
@@ -536,6 +536,8 @@
       return RTC.RTC_ERROR
 
     self._rtcout.RTC_DEBUG("addComponent() succeeded.")
+    if self._running == False:
+      self.updateComponentList()
     return RTC.RTC_OK
 
 
@@ -631,6 +633,8 @@
     guard = OpenRTM_aist.ScopedLock(self._removedMutex)
     self._removedComps.append(rtobj_)
     del guard
+    if self._running == False:
+      self.updateComponentList()
     return RTC.RTC_OK
 
 

Modified: trunk/OpenRTM-aist-Python/OpenRTM_aist/PeriodicExecutionContext.py
===================================================================
--- trunk/OpenRTM-aist-Python/OpenRTM_aist/PeriodicExecutionContext.py	2016-11-01 08:54:06 UTC (rev 733)
+++ trunk/OpenRTM-aist-Python/OpenRTM_aist/PeriodicExecutionContext.py	2016-11-01 10:32:03 UTC (rev 734)
@@ -606,7 +606,18 @@
     self.wait()
     return RTC.RTC_OK
 
+  def onAddedComponent(self, rtobj):
+    guard = OpenRTM_aist.ScopedLock(self._workerthread._mutex)
+    if self._workerthread._running == False:
+      self._worker.updateComponentList()
+    return RTC.RTC_OK
 
+  def onRemovedComponent(self, rtobj):
+    guard = OpenRTM_aist.ScopedLock(self._workerthread._mutex)
+    if self._workerthread._running == False:
+      self._worker.updateComponentList()
+    return RTC.RTC_OK
+      
   # virtual RTC::ReturnCode_t
   # onWaitingActivated(RTC_impl::RTObjectStateMachine* comp, long int count);
   def onWaitingActivated(self, comp, count):



More information about the openrtm-commit mailing list