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
@@ -8,6 +8,7 @@
 import sys
 import threading
 import queue
+import copy
 
 from psshlib.askpass_server import PasswordServer
 from psshlib import psshutil
@@ -42,6 +43,7 @@
         self.next_nodenum = 0
         self.numnodes = 0
         self.tasks = []
+        self.save_tasks = []
         self.running = []
         self.done = []
 
@@ -49,6 +51,7 @@
 
     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, self.fileappend)
@@ -87,7 +90,7 @@
             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 set_sigchld_handler(self):
openSUSE Build Service is sponsored by