Browse Source

[213] Add pid and name to the components

And use it in some log messages
Michal 'vorner' Vaner 13 years ago
parent
commit
d8e223ad54

+ 1 - 1
src/bin/bind10/bind10_src.py.in

@@ -281,7 +281,7 @@ class BoB:
         pids.sort()
         process_list = [ ]
         for pid in pids:
-            process_list.append([pid, self.processes[pid].name])
+            process_list.append([pid, self.processes[pid].name()])
         return process_list
 
     def _get_stats_data(self):

+ 2 - 10
src/bin/bind10/tests/bind10_test.py.in

@@ -243,16 +243,8 @@ class TestBossCmd(unittest.TestCase):
         bob = MockBob()
         bob.start_all_processes()
         answer = bob.command_handler("show_processes", None)
-        processes = [[2, 'b10-msgq'],
-                     [3, 'b10-cfgmgr'], 
-                     [4, 'b10-ccsession'],
-                     [5, 'b10-auth'],
-                     [7, 'b10-xfrout'],
-                     [8, 'b10-xfrin'], 
-                     [9, 'b10-zonemgr'],
-                     [10, 'b10-stats'], 
-                     [11, 'b10-stats-httpd'], 
-                     [12, 'b10-cmdctl']]
+        processes = [[1, 'first'],
+                     [2, 'second']]
         self.assertEqual(answer, {'result': [0, processes]})
 
 class TestParseArgs(unittest.TestCase):

+ 11 - 2
src/lib/python/isc/bind10/component.py

@@ -102,7 +102,7 @@ class Component:
             # TODO Handle params, etc
             procinfo = self._boss.start_simple(self._process)
         self._procinfo = procinfo
-        self._boss.register_process(procinfo.pid, self)
+        self._boss.register_process(self.pid(), self)
 
     def stop(self):
         """
@@ -165,12 +165,18 @@ class Component:
         """
         return self.__running
 
+    def name(self):
+        return self._process
+
+    def pid(self):
+        return self._procinfo.pid
+
 class SockCreator(Component):
     def start_internal(self):
         self._boss.curproc = 'b10-sockcreator'
         self.__creator = isc.bind10.sockcreator.Creator(LIBEXECDIR + ':' +
                                                         os.environ['PATH'])
-        self._boss.register_process(self.__creator.pid(), self)
+        self._boss.register_process(self.pid(), self)
 
     def stop_internal(self, kill=False):
         if self.__creator is None:
@@ -181,6 +187,9 @@ class SockCreator(Component):
             self.sockcreator.terminate()
         self.__creator = None
 
+    def pid(self):
+        return self.__creator.pid()
+
 class Msgq(Component):
     def __init__(self, process, boss, kind, address, params):
         Component.__init__(self, process, boss, kind)