File 0003-Fix-order-of-command-statuses-returned-by-the-Manage.patch of Package pssh

From ffa067b469d00d3f6c054252690cd894a7551312 Mon Sep 17 00:00:00 2001
From: Dejan Muhamedagic <dejan@suse.de>
Date: Wed, 26 Jun 2013 17:11:46 +0200
Subject: [PATCH 3/8] Fix order of command statuses returned by the Manager

---
 psshlib/manager.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/psshlib/manager.py b/psshlib/manager.py
index 7dbf4e377116..06e1cf31a010 100644
--- a/psshlib/manager.py
+++ b/psshlib/manager.py
@@ -6,6 +6,7 @@ import select
 import signal
 import sys
 import threading
+import copy
 
 try:
     import queue
@@ -43,6 +44,7 @@ class Manager(object):
 
         self.taskcount = 0
         self.tasks = []
+        self.save_tasks = []
         self.running = []
         self.done = []
 
@@ -50,6 +52,7 @@ class Manager(object):
 
     def run(self):
         """Processes tasks previously added with add_task."""
+        self.save_tasks = copy.copy(self.tasks)
         try:
             if self.outdir or self.errdir:
                 writer = Writer(self.outdir, self.errdir)
@@ -88,7 +91,7 @@ class Manager(object):
             writer.signal_quit()
             writer.join()
 
-        statuses = [task.exitstatus for task in self.done]
+        statuses = [task.exitstatus for task in self.save_tasks if task in self.done]
         return statuses
 
     def clear_sigchld_handler(self):
-- 
1.8.4

openSUSE Build Service is sponsored by