From 37f828a8cce5b5e051f5b5b3c1311ae38eed95a1 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Fri, 9 Aug 2013 08:52:07 -0400 Subject: Core: fixed py3k incompatibility Also abstracted getting the list of objects that may register RMI calls into a separate function. --- src/lib/Bcfg2/Server/MultiprocessingCore.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/lib/Bcfg2/Server/MultiprocessingCore.py') diff --git a/src/lib/Bcfg2/Server/MultiprocessingCore.py b/src/lib/Bcfg2/Server/MultiprocessingCore.py index e79207291..e7518ca18 100644 --- a/src/lib/Bcfg2/Server/MultiprocessingCore.py +++ b/src/lib/Bcfg2/Server/MultiprocessingCore.py @@ -298,8 +298,7 @@ class ChildCore(BaseCore): def _get_rmi(self): rmi = dict() - for pname, pinst in self.plugins.items() + \ - [(self.fam.__class__.__name__, self.fam)]: + for pname, pinst in self._get_rmi_objects(): for crmi in pinst.__child_rmi__: if isinstance(crmi, tuple): mname = crmi[1] @@ -413,8 +412,7 @@ class Core(BuiltinCore): def _get_rmi(self): child_rmi = dict() - for pname, pinst in self.plugins.items() + \ - [(self.fam.__class__.__name__, self.fam)]: + for pname, pinst in self._get_rmi_objects(): for crmi in pinst.__child_rmi__: if isinstance(crmi, tuple): parentname, childname = crmi -- cgit v1.2.3-1-g7c22 From 8eb46ebcba381c79ff2e35eb91f35d28bd870016 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Fri, 9 Aug 2013 09:41:54 -0400 Subject: Core: iterate over RMI objects properly --- src/lib/Bcfg2/Server/MultiprocessingCore.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/lib/Bcfg2/Server/MultiprocessingCore.py') diff --git a/src/lib/Bcfg2/Server/MultiprocessingCore.py b/src/lib/Bcfg2/Server/MultiprocessingCore.py index e7518ca18..c0c8fd9e1 100644 --- a/src/lib/Bcfg2/Server/MultiprocessingCore.py +++ b/src/lib/Bcfg2/Server/MultiprocessingCore.py @@ -298,7 +298,7 @@ class ChildCore(BaseCore): def _get_rmi(self): rmi = dict() - for pname, pinst in self._get_rmi_objects(): + for pname, pinst in self._get_rmi_objects().items(): for crmi in pinst.__child_rmi__: if isinstance(crmi, tuple): mname = crmi[1] @@ -412,7 +412,7 @@ class Core(BuiltinCore): def _get_rmi(self): child_rmi = dict() - for pname, pinst in self._get_rmi_objects(): + for pname, pinst in self._get_rmi_objects().items(): for crmi in pinst.__child_rmi__: if isinstance(crmi, tuple): parentname, childname = crmi -- cgit v1.2.3-1-g7c22 From e456076478ba127e71fa9ef699488d126efe9b5d Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Fri, 9 Aug 2013 09:44:05 -0400 Subject: MultiprocessingCore: added missing docstring --- src/lib/Bcfg2/Server/MultiprocessingCore.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/lib/Bcfg2/Server/MultiprocessingCore.py') diff --git a/src/lib/Bcfg2/Server/MultiprocessingCore.py b/src/lib/Bcfg2/Server/MultiprocessingCore.py index c0c8fd9e1..3cc308b1c 100644 --- a/src/lib/Bcfg2/Server/MultiprocessingCore.py +++ b/src/lib/Bcfg2/Server/MultiprocessingCore.py @@ -435,6 +435,8 @@ class Core(BuiltinCore): (i.e., in the parent process). """ @wraps(parent_rmi) def inner(*args, **kwargs): + """ Function that dispatches an RMI call to child + processes and to the (original) parent function. """ self.logger.debug("Dispatching RMI call to %s to children: %s" % (method, child_rmi)) self.rpc_q.publish(child_rmi, args=args, kwargs=kwargs) -- cgit v1.2.3-1-g7c22