[Yum-devel] [PATCH 3/4] don't queue args, only 'po's

Zdenek Pavlas zpavlas at redhat.com
Mon Apr 8 15:08:20 UTC 2013


---
 yum/drpm.py | 22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

diff --git a/yum/drpm.py b/yum/drpm.py
index dec4044..adf7db0 100644
--- a/yum/drpm.py
+++ b/yum/drpm.py
@@ -254,17 +254,9 @@ class DeltaInfo:
     def rebuild(self, po):
         """ Turn a drpm into an rpm, by adding it to the queue and trying to
             service the queue. """
-        args = ()
-        if po.oldrpm: args += '-r', po.oldrpm
-        args += po.localpath, po.rpm.localpath
-
-        self.queue(args, po)
+        self._future_jobs.append(po)
         self.dequeue_max()
 
-    def queue(self, args, callback):
-        """ Queue a delta rebuild up. """
-        self._future_jobs.append((args, callback))
-
     def dequeue_all(self):
         """ De-Queue all delta rebuilds and spawn the rebuild processes. """
 
@@ -297,11 +289,11 @@ class DeltaInfo:
                 return False
             self.wait((self.limit - len(self.jobs)) + 1)
 
-        args, callback = self._future_jobs.pop(0)
-        self._spawn(args, callback)
-
-        return True
+        po = self._future_jobs.pop(0)
+        args = ()
+        if po.oldrpm: args += '-r', po.oldrpm
+        args += po.localpath, po.rpm.localpath
 
-    def _spawn(self, args, callback):
         pid = os.spawnl(os.P_NOWAIT, APPLYDELTA, APPLYDELTA, *args)
-        self.jobs[pid] = callback
+        self.jobs[pid] = po
+        return True
-- 
1.7.11.7



More information about the Yum-devel mailing list