[openrtm-commit:01849] r694 - trunk/OpenRTM-aist-Python/OpenRTM_aist
openrtm @ openrtm.org
openrtm @ openrtm.org
2016年 3月 12日 (土) 04:59:58 JST
Author: miyamoto
Date: 2016-03-12 04:59:58 +0900 (Sat, 12 Mar 2016)
New Revision: 694
Modified:
trunk/OpenRTM-aist-Python/OpenRTM_aist/ManagerServant.py
trunk/OpenRTM-aist-Python/OpenRTM_aist/NamingManager.py
Log:
[compat,bugfix,->RELENG_1_2] bug fix. refs #3411
Modified: trunk/OpenRTM-aist-Python/OpenRTM_aist/ManagerServant.py
===================================================================
--- trunk/OpenRTM-aist-Python/OpenRTM_aist/ManagerServant.py 2016-03-11 19:16:43 UTC (rev 693)
+++ trunk/OpenRTM-aist-Python/OpenRTM_aist/ManagerServant.py 2016-03-11 19:59:58 UTC (rev 694)
@@ -971,7 +971,7 @@
return self.getObjRef()
if self._isMaster:
guard = OpenRTM_aist.ScopedLock(self._slaveMutex)
- for slave in self._slaves:
+ for slave in self._slaves[:]:
try:
prof = slave.get_configuration()
prop = OpenRTM_aist.Properties()
@@ -983,11 +983,13 @@
except:
self._rtcout.RTC_ERROR("Unknown exception cought.")
self._rtcout.RTC_DEBUG(OpenRTM_aist.Logger.print_exception())
+ self.remove_slave_manager(slave)
del guard
else:
guard = OpenRTM_aist.ScopedLock(self._masterMutex)
for master in self._masters:
- for slave in master.get_slave_managers():
+ slaves = master.get_slave_managers()
+ for slave in slaves[:]:
try:
prof = slave.get_configuration()
prop = OpenRTM_aist.Properties()
@@ -998,6 +1000,7 @@
except:
self._rtcout.RTC_ERROR("Unknown exception cought.")
self._rtcout.RTC_DEBUG(OpenRTM_aist.Logger.print_exception())
+ master.remove_slave_manager(slave)
try:
prof = master.get_configuration()
prop = OpenRTM_aist.Properties()
Modified: trunk/OpenRTM-aist-Python/OpenRTM_aist/NamingManager.py
===================================================================
--- trunk/OpenRTM-aist-Python/OpenRTM_aist/NamingManager.py 2016-03-11 19:16:43 UTC (rev 693)
+++ trunk/OpenRTM-aist-Python/OpenRTM_aist/NamingManager.py 2016-03-11 19:59:58 UTC (rev 694)
@@ -507,8 +507,12 @@
rtc_list = mgr.get_components_by_name(rtc_name)
slaves = mgr.get_slave_managers()
- for ms in slaves:
- rtc_list.extend(ms.get_components_by_name(rtc_name))
+ for slave in slaves:
+ try:
+ rtc_list.extend(slave.get_components_by_name(rtc_name))
+ except:
+ self._rtcout.RTC_DEBUG(OpenRTM_aist.Logger.print_exception())
+ mgr.remove_slave_manager(slave)
return rtc_list
return rtc_list
More information about the openrtm-commit
mailing list