[openrtm-commit:02586] r816 - trunk/OpenRTM-aist-Python/OpenRTM_aist

openrtm @ openrtm.org openrtm @ openrtm.org
2017年 4月 20日 (木) 14:23:00 JST


Author: miyamoto
Date: 2017-04-20 14:23:00 +0900 (Thu, 20 Apr 2017)
New Revision: 816

Modified:
   trunk/OpenRTM-aist-Python/OpenRTM_aist/Manager.py
   trunk/OpenRTM-aist-Python/OpenRTM_aist/ManagerServant.py
Log:
[compat,bugfix,->RELENG_1_2] fixed bug.

Modified: trunk/OpenRTM-aist-Python/OpenRTM_aist/Manager.py
===================================================================
--- trunk/OpenRTM-aist-Python/OpenRTM_aist/Manager.py	2017-04-18 03:14:52 UTC (rev 815)
+++ trunk/OpenRTM-aist-Python/OpenRTM_aist/Manager.py	2017-04-20 05:23:00 UTC (rev 816)
@@ -318,6 +318,7 @@
     self._listeners.manager_.preShutdown()
     self.shutdownTimer()
     self.shutdownComponents()
+    self.shutdownManagerServant()
     self.shutdownNaming()
     self.shutdownORB()
     self.shutdownManager()
@@ -1415,6 +1416,23 @@
 
     return
 
+  ##
+  # @if jp
+  # @brief Managerサーバントの終了処理(未実装)
+  #
+  # Managerサーバントを終了する
+  # 
+  #
+  # @param self
+  #
+  # @else
+  #
+  # @endif
+  def shutdownManagerServant(self):
+    self._rtcout.RTC_TRACE("Manager.shutdownManagerServant()")
+    self._mgrservant.exit()
+    self._mgrservant = None
+    return
 
   ##
   # @if jp

Modified: trunk/OpenRTM-aist-Python/OpenRTM_aist/ManagerServant.py
===================================================================
--- trunk/OpenRTM-aist-Python/OpenRTM_aist/ManagerServant.py	2017-04-18 03:14:52 UTC (rev 815)
+++ trunk/OpenRTM-aist-Python/OpenRTM_aist/ManagerServant.py	2017-04-20 05:23:00 UTC (rev 816)
@@ -97,6 +97,21 @@
   # 
   # @endif
   def __del__(self):
+    pass
+
+
+
+  ##
+  # @if jp
+  #
+  # @brief 終了関数
+  # 
+  # @else
+  # 
+  # @brief 
+  # 
+  # @endif
+  def exit(self):
     guard_master = OpenRTM_aist.ScopedLock(self._masterMutex)
     for i in range(len(self._masters)):
       try:
@@ -123,7 +138,6 @@
       self._objref._release()
     return
 
-
   ##
   # @if jp
   # @brief モジュールをロードする
@@ -306,8 +320,13 @@
     
 
 
-    module_name = module_name.split("&")[0]
+    #module_name = module_name.split("&")[0]
+    module_name = [module_name]
+    self.get_parameter_by_modulename("manager_address",module_name)
+    self.get_parameter_by_modulename("manager_name",module_name)
+    module_name = module_name[0]
     
+    
     if self._isMaster:
       guard = OpenRTM_aist.ScopedLock(self._slaveMutex)
       for slave in self._slaves:
@@ -1057,7 +1076,11 @@
 
     endpos = arg.find('&', pos + 1)
     if endpos == -1:
-      paramstr = arg[(pos + 1):]
+      endpos = arg.find('?', pos + 1)
+      if endpos == -1:
+        paramstr = arg[(pos + 1):]
+      else:
+        paramstr = arg[(pos + 1): endpos]
     else:
       paramstr = arg[(pos + 1): endpos]
     self._rtcout.RTC_VERBOSE("%s arg: %s", (param_name, paramstr))



openrtm-commit メーリングリストの案内